久久久久久久999_99精品久久精品一区二区爱城_成人欧美一区二区三区在线播放_国产精品日本一区二区不卡视频_国产午夜视频_欧美精品在线观看免费

專注電子技術學習與研究
當前位置:單片機教程網(wǎng) >> MCU設計實例 >> 瀏覽文章

波特率自適應的模擬串行通信

作者:佚名   來源:本站原創(chuàng)   點擊數(shù):  更新時間:2012年08月13日   【字體:

在戶用儀表(電能表、燃氣表、水表、熱能表等)自動
抄讀系統(tǒng)及工業(yè)控制系統(tǒng)中, 往往使用現(xiàn)場總線采用
有關通信規(guī)約進行數(shù)據(jù)交換以獲取有關信息。 而數(shù)據(jù)
通信一般使用主從應答的查詢方式, 其數(shù)據(jù)鏈路層一
般由前導字符、幀起始符、控制碼、數(shù)據(jù)長度、數(shù)據(jù)域(包
含地址)、校驗碼、結束符等組成。 由于不同的工作環(huán)境
要求系統(tǒng)有不一樣的通信波特率,因此,戶用儀表等必
須有波特率自適應的軟硬件模塊, 達到現(xiàn)場系統(tǒng)配置
靈活,提高系統(tǒng)數(shù)據(jù)通信的工作效率及可*性。

一、從機波特率的計算方法
設定通信時每字節(jié)的傳輸格式為:1個起始位、8個
數(shù)據(jù)位(低bit位在先)、1個停止位,如圖1所示。 服務器主
機在發(fā)送1幀信息之前先發(fā)送1個以上的前導字節(jié)FEh,
從機就是從1幀通信數(shù)據(jù)前的前導字符中提取相應的波
特率信息。 在發(fā)送前導字符FEh字節(jié)時bit位的傳輸如圖2
所示, 從機在起始位的下降沿CPU進行內部時鐘的開始
計數(shù)至上升沿時時鐘計數(shù)結束。 根據(jù)圖2可知,時鐘計數(shù)
的1/2即為波特率傳輸1個bit位所需的時間。

二、硬件的工作原理
本文選擇MSP430系列單片機作為從機的微控制
器,采用模擬串口的異步半雙工通信方式(因有些型號
單片機不帶串行通信口)。MSP430系列單片機是由美國
TI公司設計制造的,是一種具有超低功耗并且功能強大
的單片機,系列型號以FLASH芯片為主,單片機自身帶
有JTAG仿真接口,調試工具簡單、使用方便,非常適合
戶用儀表等低功耗產品的開發(fā)。
MSP430系列單片機的定時器系統(tǒng)由一個16位的定
時計數(shù)器及對應的多組具有輸入捕獲或比較功能的
CCRx寄存器組成。 每個CCRx寄存器能獨立選擇輸入捕
獲或比較功能中的一種模式, 通過簡單的控制字設置
就能相互轉換。 定時計數(shù)器有多種時鐘源選擇方式(如
外部輸入、晶體振蕩器、內部數(shù)控(DCO)的RC振蕩器
等),并有停止、增計數(shù)、連續(xù)、增/減計數(shù)4種工作模式。
每個CCRx寄存器都具有外接輸入信號及控制輸出功
能,當單個CCRx寄存器啟動捕獲功能時,輸入的邊沿觸
發(fā)信號能把定時計數(shù)器內的當時值拷貝到CCRx寄存器
并能響應中斷處理。 而當CCRx寄存器啟動比較功能,且
CCRx寄存器的值與定時計數(shù)器的值相同時,能產生預置
的bit位輸出信號并響應中斷處理。 在1幀數(shù)據(jù)的應答通
信過程中時間比較短,此時間內溫度變化很小,可認定
當時內部DCO的RC振蕩值是個相對穩(wěn)定值,而波特率的
計算只是1個bit位所占用的多少個定時器的時鐘數(shù),因
此不必考慮高精度的晶體振蕩器作為時鐘源,可以使用
內部的DCO振蕩器作為數(shù)據(jù)通信的時鐘源, 因為通信時
的波特率計時的時鐘脈沖數(shù)對時鐘源的準確度沒有要
求,只要保證傳送1幀信息的時鐘穩(wěn)定性就能可*工作。
考慮到單片機波特率計算會產生的時鐘誤差及1個字節(jié)
可能產生時鐘累積誤差,一般要求定時器的時鐘頻率大
于最高波特率的100倍以上,使每傳輸1個字節(jié)時的時鐘
誤差積累不會引起通信誤碼。 對于仿真的模擬串口利用
定時器捕獲模式對端口上、下沿的信號進行捕捉,獲取
接收時第一個前導碼字節(jié)(FEh)兩個低電平bit位的時鐘
周期數(shù),從而計算出波特率發(fā)生的正確時序。 從機定時
器的捕獲模式還能感應接收字節(jié)起始位的下降沿信號
以得到CCRx的時鐘值,利用波特率計算的時鐘數(shù)設置比
較模式的寄存器CCRx值, 下次比較模式產生中斷的
CCRx值=CCRx(當前值)+波特率計算的時鐘數(shù)。 注意,接
收時的D0位計算為1.5倍波特率計算的時鐘數(shù),定時器的
比較模式中斷得到接收bit位的電平信號,如圖3所示。 當
從機發(fā)送數(shù)據(jù)時,定時器的比較模式使用了單片機定時
器的PWM輸出模式1、模式5的方法,確定了輸出bit位的
電平同步信號,如圖4所示。 上述接收、發(fā)送數(shù)據(jù)信息的
處理在定時器中斷處理程序中完成。

三、軟件流程
(見圖5)
為了充分利用MSP430單片機的低功耗功能, 單片
機平時可以工作在休眠狀態(tài),定時器初始化的工作模式
設為連續(xù)增計數(shù)方式, 根據(jù)相對應的捕獲/比較寄存器
CCRx初始化相應的通信輸入、輸出端口,設置定時器的
控制寄存器CCTLx為下降沿捕獲模式。 當有串行通信時
開啟定時器的時鐘, 同時產生定時器捕獲/比較模式
CCRx的中斷處理信號,在CCRx中斷處理程序中完成數(shù)
據(jù)通信。 為了防止通信過程中產生意外事故的死循環(huán),
可在通信過程中設置一個看門狗,當然可以使用定時器
另外一組CCRx的比較模式功能來仿真看門狗程序。 當
通信結束時設置定時器的CCTLx為下降沿捕獲模式,為
了降低功耗還可以關閉定時器時鐘。
此方法已成功應用在總線制網(wǎng)絡水表的自動抄讀
系統(tǒng)上,在DCO頻率為3MHz時波特率(300~9600)BPS均
能正常工作。 實施的方法也可以移植到別的單片機系
列,尤其是沒有串口功能的單片機系統(tǒng),有時還可以節(jié)
省系統(tǒng)硬件的通信資源

本文完整版本及圖列從這里下載:http://www.zg4o1577.cn/f/波特率自適應的模擬串行通信.kdh
程序詳見: http://www.zg4o1577.cn/mcu/1541.html
kdh閱讀器下載: http://www.xdowns.com/soft/4/136/2012/Soft_88914.html

關閉窗口

相關文章

主站蜘蛛池模板: 中文字幕在线观看国产 | 国产精品久久久久免费 | 在线观看成人av | 一级片成人| 99精品免费久久久久久久久日本 | 在线观看国产 | 国产a级毛毛片 | 午夜在线| 国产成人综合在线 | 日韩精品一区二区三区在线观看 | 国产免费高清 | 国产精品国产精品国产专区不片 | 欧美日韩高清 | 中文字幕黄色大片 | 欧美日韩大陆 | 久久久成人免费视频 | 久久lu| 久久se精品一区精品二区 | 欧美不卡一区二区 | 女人牲交视频一级毛片 | 国产精品久久久久久久久久久久午夜片 | 在线观看精品 | 在线看av的网址 | 欧美乱人伦视频 | 亚洲欧洲在线看 | 国产精品色一区二区三区 | 亚洲人成网亚洲欧洲无码 | 一片毛片 | 国产传媒毛片精品视频第一次 | 国产精品乱码一区二区三区 | 欧美午夜一区二区三区免费大片 | 中文字幕不卡在线88 | www.欧美.com| 在线成人| 精品成人免费视频 | 久久国 | 91日韩在线| 欧美一级网站 | 国产精品一区久久久 | 在线国产小视频 | 成人天堂噜噜噜 |