《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > 一種基于C8051F310的UART擴展實現
一種基于C8051F310的UART擴展實現
摘要: 為解決硬件方法在工程實現存在的不足,本文針對項目實際需要提出了一種利用C8051F310單片機實現多UART接口擴展方法。通過單片機作為數據收發的中繼器,實現對于多個UART采集的需要。
Abstract:
Key words :

 引言

  UART數據發送協議作為一種簡單的數據發送協議,被大量的使用在當前各種數字外設的數據傳輸上。但是現在的PC機存在無UART接口或接口較少的問題,當需要利用PC機對于多個數字設備同時處理問題時,就需要在PC機上進行UART擴展,這類問題在筆記本PC上尤為突出。通常這種問題的解決方法有以下幾種方法:(1)利用USB接口通過相應的轉換設備進行轉換。(2)利用PCI總線轉換卡獲得多個UART接口的擴展。前者優點在于實現簡單設備,成本低。后者優點在于可以實現多個接口擴展且功能完善。但在實際使用中發現兩者都存在一個共同的問題,即利用擴展獲得UART接口其工作性能不夠穩定,且存在不能完全實現多個UART接口的實時通訊。

  為解決上述硬件方法在工程實現存在的不足,本文針對項目實際需要提出了一種利用C8051F310單片機實現多UART接口擴展方法。通過單片機作為數據收發的中繼器,實現對于多個UART采集的需要。

  UART數據發送

  8位UART數據傳輸主要利用RX,TX信號線實現數據的雙向傳輸(如圖1)。

  當數據接收時,數據線RX首先處于接收準備狀態即RX呈高電平,根據UART數據發送協議,如果RX線有數據接收時,RX線被置為低電平,接收起始位,在起始位后是為數據位,當最后一幀數據接收完畢后,產生終止,終止位的作用為將RX線電平置高,是RX線處于等待狀態。

  發送通過對于TX線上信號電平的操作實現對于數據的發送,發送初始狀態下TX線處于高電平,當啟動發送后將TX線電平置低產生起始位,在一個波特率時鐘周期后將開始發送數據,數據發送完畢后重新將TX電平置高使發送機處于等待狀態。

  單個UART實現方法

  本文利用C8051F310單片機作為軟件UART實現的平臺,主要方法是通過單片機的定時器產生波特率,根據波特率確定的位時間定時讀取(或發送)位數據信號,從而模擬了硬件UART的工作過程。具體的實現方法如下所述。

  (1)硬件連接

  在UART的軟件實現中主要是利用單片機模擬硬件UART的發送過程,因此我們利用C8051F310單片機中定時器T0工作的雙八位定時模式用于產生波特率,PC機A0工作在邊沿捕捉狀態以捕捉SW_RX端口的電平變化產生,判斷數據接收的初始和終止。具體的硬件連接如圖2。

(2)軟件實現

  發送狀態機軟件實現:將數據進入到發送緩沖寄存器,然后置SW_TX端口為低電平,啟動發送,裝載波特率源,此后每經過1/2個位時間后通過移位操作將發送緩沖寄存器中的數據按位改變SW_TX數據線電平從而實現數據的發送。

  接收狀態機軟件實現:當PCA0模塊捕捉到SW_RX下邊沿后為產生中斷,捕捉接收起始位,然后轉載波特率,此后每1/2個位時間讀取SW_RX線數據位,通過移位操作進入接收緩存。在第九位是由PCA0捕捉停止位,完成接收。

  多個UART的擴展實現

  由于軟件UART主要利用中斷來控制接收和發送的,因此,當進行多個UART擴展是不可避免的遇到了由于中斷處理時間對于UART上發送數據和接收數據的位時間對準問題。根據UART傳輸原理為了保證接收的準確性一般采用在1/2個位時間處讀取和發送數據。因此無論進行多少個UART擴展其總的時間開銷應小于1/2個位時間,因此當配置多個UART擴展時傳輸的波特率是有限制的。同時為了盡可能的多擴展UART應當盡量采用較高的系統時鐘頻率。

  在本設計中利用C8051F310實現了4路UART擴展。分別利用定時器T0,定時器T2,定時器T3和PCA定時器作為波特率產生定時器。設定波特率為9600b/s。

  考慮中斷處理時間,前文提到了總的中斷處理時間應小于1/2個位時間,考慮了最差情況,即4路中斷同時并發的情況,一般而言此種情況是不常發生的,因此,認為只要滿足下式:

  即可滿足n個UART擴展的要求,其中為平均中斷處理時間。

  對于中斷時間的測定,可采用在中斷開始和中斷結束處設置斷點讀取定時器計數值方式獲得。

  由此可以看出能否盡量多的擴展一定波特率要求的UART,主要是控制中斷處理的時間采用盡量少的中斷處理完成讀取和發送的I/O端口控制,以及相應的移位操作,一般接收狀態機中中斷時間較長,而中斷發送機時間較短。

  多串口數據轉發協議

  本設計中實現多串口軟件擴展的目的是為了解決端口不足的問題,利用一個串口實現對于多個UART設備的通訊,同時克服硬件擴展中信道占用問題,因此需要編制數據中繼轉發協議。

  下行數據的讀取

  UART設備的數據發送可以分為兩類:分為主從式和直發式,主從式數據的獲取需要先向設備發送指令,通過指令獲取相應設備數據。直發式設備則無論處于何種狀態,系統加電后按照預定數據協議向上發送數據。在本設計中同時存在這兩類設備。

  對于直發式設備本設計采用直接利用一路軟件UART獲取數據,將數據保存在單片機預先開辟好的一組存儲區域中,對于主從式設備本設計采用由單片機按照其最小工作周期連續采集數據進行存儲的方式(即利用單片保持數據的最小采集周期更新)。

  采集的時序安排,由于下掛的各種設備數據采集周期不同,因此不可避免的存在各種數據采集的時序問題,由于采用中斷方式進行采集,這種時序的安排體現在了中斷的優先級安排上。為了最大限度的保持數據采集的實時性,應將數據周期較長的設備設定為高優先級中斷,這樣在其設備采集設備的同時可以更新其他低速設備。

  上行數據的轉發

  上行數據轉發采用指令方式,即利用指令判斷從數據存儲區中獲取那些設備的數據。通過這種方式把原來兩類設備數據傳輸方式統一到了主從式上。

上行器件命令的發送

  主要采用協議地址的方式判明指令針對的設備,需要在單片機中對于指令按照預先編制的指令協議進行指令的解析,形成針對各自設備的指令碼向下轉發。具體的數據協議控制圖見圖3,多串口硬件見圖4。

 

  實驗

  (1)為了驗證單個軟件UART可用首先利用串口調試助手隨機發送數據,選擇不同的自動發送周期,每個發送周期連續1000字節數據發送檢驗數據接收和發送錯誤率,實驗結果見表1。

  通過以上數據我們可以看到軟件UART在發送和接收時間上存在延遲,因為利用中斷和單片機對于數據的轉發造成了數據傳輸的延遲,這是不可避免的,只要保證較高的單片機時鐘頻率,這種延時可以盡量的減小。其次當發送周期較短時,擴展串口的錯誤較高,但是延遲到50ms發送周期后這種錯誤基本解決。因此當傳輸周期越長,數據錯誤率越低。
 (2)定波特率下,4UART同時工作的測試結果見表2。

  波特率上升到115200b/s時,UART傳輸出現大幅錯誤,基本無正常數據。

  (3)接入實際設備后輸出結果,發送指令碼:0xaa,取4設備數據。

  由于設備1采集周期最長達到300ms,因此其優先級最高。且設備1一直發送數據。

  實驗中發現由于設備1,一直向上發送數據,其他端口數據無法接收,當設備一端口被關閉后其他端口才可接收已經發送數據。表明此前其他端口設備數據被暫時保存在了硬件的緩存當中。

  結語

  通過實驗表明在特定波特率條件下利用單片機實現的UART端口可以具有較好的穩定性,且延遲時間可以被接收,同時利用協議方式可以有效地避免硬件擴展串口存在的信道堵塞問題。對于一般PC擴展而言是一種很好的選擇。但同時可以看到這種方法在通用性上同硬件擴展有很大差距,必須根據特定設備編寫特定協議,并且利用編程模擬的UART接口對于波特率和數據傳輸時間上具有很高的要求,因此對于實時性要求較高的場合并不使用。

此內容為AET網站原創,未經授權禁止轉載。
热re99久久精品国产66热_欧美小视频在线观看_日韩成人激情影院_庆余年2免费日韩剧观看大牛_91久久久久久国产精品_国产原创欧美精品_美女999久久久精品视频_欧美大成色www永久网站婷_国产色婷婷国产综合在线理论片a_国产精品电影在线观看_日韩精品视频在线观看网址_97在线观看免费_性欧美亚洲xxxx乳在线观看_久久精品美女视频网站_777国产偷窥盗摄精品视频_在线日韩第一页
  • <strike id="ygamy"></strike>
  • 
    
      • <del id="ygamy"></del>
        <tfoot id="ygamy"></tfoot>
          <strike id="ygamy"></strike>
          久久亚洲电影| 激情另类综合| 久久久国际精品| 亚洲午夜视频| 在线欧美日韩精品| 精品999日本| 亚洲一区二区在线| 影音先锋日韩资源| 国产精品乱码| 一区二区福利| 亚洲午夜伦理| 国产亚洲一区二区三区在线观看| 国产一级精品aaaaa看| 精品成人国产在线观看男人呻吟| 99热免费精品| 欧美精品播放| 国产亚洲一级高清| 亚洲精选视频免费看| 亚洲黑丝在线| 国产精品欧美久久| 欧美r片在线| 欧美激情1区2区| 国产一区在线看| 一区二区三区精品| 欧美成人精品高清在线播放| 黄色成人片子| 欧美成人情趣视频| 亚洲欧美综合国产精品一区| 久久综合久色欧美综合狠狠| 亚洲性夜色噜噜噜7777| 亚洲国产精品热久久| 国模私拍一区二区三区| 欧美黄色精品| 亚洲综合国产精品| 国产一区自拍视频| 欧美11—12娇小xxxx| 另类成人小视频在线| 欧美在线免费| 亚洲日本国产| 亚洲欧洲在线播放| 国产精品久久99| 国内成人精品视频| 国产日韩av高清| 激情自拍一区| 欧美超级免费视 在线| 亚洲国产91精品在线观看| 亚洲欧洲综合| 一区二区欧美视频| 美女性感视频久久久| 国产精品美女久久久免费| 亚洲精品日韩欧美| 国产久一道中文一区| 亚洲字幕在线观看| 国产精品毛片高清在线完整版| 在线看视频不卡| 欧美专区福利在线| 亚洲激情六月丁香| 国产精品每日更新| 亚洲高清久久网| 亚洲一区免费网站| 亚洲精品一区在线观看| 欧美一区二区三区免费看| 国产精品成人aaaaa网站| 国产女优一区| 欧美日韩国产不卡| 鲁大师影院一区二区三区| 欧美电影免费观看大全| 欧美日韩国产精品一区二区亚洲| 狠狠色狠狠色综合人人| 欧美日韩一级视频| 久久精品人人做人人综合| 国产伦理一区| 影音先锋在线一区| 亚洲午夜精品福利| 国产字幕视频一区二区| 美女主播精品视频一二三四| 久久久久国产免费免费| 久久福利一区| 亚洲美女视频| 亚洲国产精品一区二区尤物区| 久久精品视频网| 麻豆成人91精品二区三区| 亚洲欧美日韩一区| 国产欧美高清| 亚洲精品欧洲| 欧美韩日一区二区| 18成人免费观看视频| 日韩视频在线一区| 国产精品欧美精品| 午夜精品免费| 一区二区久久久久| 136国产福利精品导航网址应用| 国产欧美综合在线| 国产欧美短视频| 欧美视频在线观看免费| 国产精品国产a| 欧美激情1区2区3区| 久久躁狠狠躁夜夜爽| 欧美三日本三级少妇三99| 一本色道久久综合狠狠躁篇怎么玩| 蜜桃av一区二区在线观看| 国产午夜精品一区二区三区视频| 欧美色区777第一页| 午夜亚洲性色福利视频| 一本高清dvd不卡在线观看| 欧美精品在线极品| 久久一区中文字幕| 在线看片第一页欧美| 欧美精品一区二区三区在线看午夜| 一区二区免费在线播放| 欧美在线播放一区二区| 亚洲天堂网站在线观看视频| 亚洲精品一区二区在线观看| 在线亚洲欧美专区二区| 欧美大成色www永久网站婷| 国产区在线观看成人精品| 亚洲网在线观看| 欧美一区二区高清在线观看| 久久精彩免费视频| 国产精品99久久久久久久女警| 国产亚洲欧美一区二区| 免费亚洲一区二区| 欧美在线视频在线播放完整版免费观看| 亚洲性视频h| 亚洲一区二区三区免费观看| 99国产欧美久久久精品| 一区二区日韩精品| 午夜精品福利电影| 亚洲成人自拍视频| 麻豆精品精品国产自在97香蕉| 国产精品亚洲一区| 欧美夫妇交换俱乐部在线观看| 欧美人与禽猛交乱配视频| 999在线观看精品免费不卡网站| 日韩亚洲一区二区| 一区二区三区高清不卡| 久久爱www久久做| 国产欧美日韩视频一区二区| 国产精品都在这里| 欧美激情在线免费观看| 欧美国产日韩一区| 99视频+国产日韩欧美| 尤物99国产成人精品视频| 亚洲精品久久久久久一区二区| 一区二区三区精品视频| 一区二区在线看| 欧美国产精品v| 国产日韩欧美在线视频观看| 久久久999国产| 国模吧视频一区| 亚洲天堂激情| 久久av一区二区三区漫画| 日韩系列欧美系列| 国产精品久久久爽爽爽麻豆色哟哟| 欧美日韩在线亚洲一区蜜芽| 午夜在线a亚洲v天堂网2018| 欧美视频一区二区三区| 精品88久久久久88久久久| 欧美大片在线观看一区| 国产老肥熟一区二区三区| 久久久免费av| 欧美激情一区二区三区在线| 欧美伊人精品成人久久综合97| 国产精品三级久久久久久电影| 欧美一区二区三区播放老司机| 午夜日韩视频| 国产精品欧美日韩一区| 亚洲性线免费观看视频成熟| 亚洲视频在线一区观看| 亚洲国产视频一区| 久久久久久网| 国模私拍一区二区三区| 韩国一区二区三区在线观看| 欧美在线观看网址综合| 夜夜嗨av一区二区三区免费区| 国产欧美日韩伦理| 免费短视频成人日韩| 国产麻豆综合| 亚洲综合二区| 99综合在线| 国产精品自拍小视频| 国产香蕉97碰碰久久人人| 米奇777超碰欧美日韩亚洲| 亚洲天堂男人| 亚洲欧美日韩国产综合在线| 亚洲欧美激情四射在线日| 国产在线精品成人一区二区三区| 欧美伊人久久大香线蕉综合69| 久久亚裔精品欧美| 91久久极品少妇xxxxⅹ软件| 欧美日韩午夜在线| 亚洲国产三级在线| 亚洲欧洲视频在线| 亚洲成在人线av| 美女爽到呻吟久久久久| 国产精品99久久久久久www| 欧美视频一区二区三区四区| 午夜综合激情| 久久精品卡一| 欧美国产日韩精品| 国产精品综合视频| 亚洲国产黄色片| 亚洲第一综合天堂另类专| 亚洲无亚洲人成网站77777| 制服诱惑一区二区| 国产精品日韩久久久久| 欧美精品一卡二卡| 久久夜色精品一区| 蘑菇福利视频一区播放| 国产日韩欧美在线一区| 国产乱码精品1区2区3区| 欧美日韩成人激情| 久久精品免费观看| 午夜精品久久久久久久白皮肤| 中文精品在线| 欧美日韩亚洲高清一区二区| 精品福利免费观看| 亚洲高清久久网| 欧美视频成人| 国产欧美日韩精品一区| 欧美午夜激情视频| 亚洲图片自拍偷拍| 欧美日本精品在线| 久久综合九色99| 亚洲人成网站777色婷婷| 国产精品ⅴa在线观看h| 国产一区二区三区在线免费观看| 欧美伊人精品成人久久综合97| 久久九九热免费视频| 欧美在线视频一区二区三区| 麻豆成人在线播放| 久久久久青草大香线综合精品| 免费视频最近日韩| 一本久久综合亚洲鲁鲁| 1000部精品久久久久久久久| 极品中文字幕一区| 日韩视频一区二区三区在线播放免费观看| 欧美日韩亚洲一区二区| 蜜桃久久精品乱码一区二区| 欧美另类极品videosbest最新版本| 亚洲淫片在线视频| 国产精品久久| 国产一区二区电影在线观看| 国产欧美大片| 狠狠色狠狠色综合日日小说| 久久九九免费| 欧美日韩中文字幕在线| 欧美**字幕| 久久久久久综合网天天| 亚洲综合国产精品| 欧美成人精品高清在线播放| 午夜精彩视频在线观看不卡| 韩国欧美一区| 亚洲精选视频在线| 午夜在线a亚洲v天堂网2018| 久久综合一区| 亚洲免费视频在线观看| 一本一本久久a久久精品综合麻豆| 亚洲欧美激情视频| 欧美黑人国产人伦爽爽爽| 久久精品女人的天堂av| 亚洲一区二区视频| 一区二区三区四区五区精品| 久热这里只精品99re8久| 一本色道久久综合亚洲精品小说| 亚洲全部视频| 久久高清一区| 久久精品噜噜噜成人av农村| 欧美性jizz18性欧美| 亚洲一区欧美一区| 亚洲一区美女视频在线观看免费| 亚洲高清在线观看| 国产色综合天天综合网| 国产区在线观看成人精品| 黄色精品免费| 欧美亚州一区二区三区| 一区二区欧美亚洲| 亚洲视频在线观看免费| 国产精品综合| 亚洲高清资源综合久久精品| 99视频精品全国免费| 亚洲一区三区在线观看| 欧美大片国产精品| 一区二区三区在线视频播放| 亚洲一区日韩在线| 欧美巨乳在线| 在线视频国内自拍亚洲视频| 久久9热精品视频| 久久精品日产第一区二区三区| 国产亚洲女人久久久久毛片| 欧美特黄a级高清免费大片a级| 欧美日韩国产一级片| 亚洲欧美日韩一区二区三区在线观看| 午夜精品福利一区二区三区av| 亚洲免费一区二区| 亚洲第一精品影视| 欧美另类女人| 在线欧美视频| 亚洲国产小视频在线观看| 欧美日韩国产综合视频在线观看| 久久久青草婷婷精品综合日韩| 欧美日韩的一区二区| 在线国产精品一区| 国产区欧美区日韩区| 亚洲自拍偷拍色片视频| 欧美一区二区视频观看视频| 久久久五月天| 久久九九有精品国产23| 亚洲欧洲日产国产综合网| 激情一区二区三区| 亚洲精品久久嫩草网站秘色| 国产欧美日韩视频一区二区| 欧美一区午夜精品| 亚洲欧美精品伊人久久| 国产精品电影观看| 亚洲第一精品夜夜躁人人爽| 欧美在线观看视频在线| 亚洲国产精品久久91精品| 欧美性猛交一区二区三区精品| 在线欧美小视频| 亚洲综合国产精品| 中文av一区特黄| 欧美系列精品| 伊人久久大香线蕉综合热线| 午夜在线观看免费一区| 在线精品国产成人综合| 亚洲欧洲精品一区二区精品久久久| 国语精品中文字幕|