《電子技術應用》
您所在的位置:首頁 > 嵌入式技術 > 設計應用 > 采用μPD78045F實現異步串行UART功能的方法
采用μPD78045F實現異步串行UART功能的方法
摘要: 本文介紹的軟件UART實現方法,已在項目中實際應用,達到功能要求,工作穩定可靠。從以上方案可以看出,本方法的最高波特率可達38400,每一幀的格式可靈活改變,其中數據位長度和發送順序均沒有限制,可根據需要發送數十位的數據位。
Abstract:
Key words :

  本文給出在μPD78045F上采用軟件模擬方式,使用2個I/O口線和一個8位定時器實現異步串行UART功能的方法。本方法占用資源少,設置和使用簡單方便,幀格式可自由改變。

  設計思路

  每一個UART都應具備如下功能:

  異步串行發送和接收的基本單位是幀,通常每幀包括以下部分:

  本設計中,發送采用主動查詢方式,可使用任一輸出端口,本文中將P12.1設置為輸出口,作為TxD;由于異步通訊中接收是被動的和隨機的,因此只能采用中斷方式,P0.1是外部中斷INTP1的外部引腳,設計中使用它作為RxD,設置為下降沿觸發方式,可及時檢測到起始位的邏輯0電平,進入中斷處理程序進行數據接收。

  波特率發生器使用8位定時器TM1,產生指定波特率下的1個發送/接收位時序長度,即“位定時”。UART的并行數據到串行數據的轉換、每幀數據格式的生成、發送和接收功能都由軟件來控制完成。在指定波特率下,位定時為1,000,000ms / 波特率,硬件系統采用fx=4.9152 MHz的主晶振,軟件設置定時器計數時鐘為4分頻,即:fx/4=1.2288 MHz ,達到指定波特率位定時常數為:1228800 / 波特率 。常用的波特率對應的位定時常數列在表1中。

  


  以下設置通訊參數為9600波特率,1位起始位,6位數據位,發送順序從MSB到LSB,偶校驗,2位停止位。

  

 

  

 

  圖1 發送過程流程圖

  

 

  圖2 接收過程流程圖

  軟件流程

  發送

  發送過程采用主動查詢方式完成,為保證每個發送位的時長相同,整個過程關閉中斷。首先,設定定時器定時一位時長,啟動定時器,關閉中斷,開始一幀的發送;然后,在發送一位時長的低電平(起始位)后,按最高位在先的順序依次發送6個數據位,同時計算偶校驗位,并在數據位后發送;最后,發送2位時長高電平作為停止位,結束一幀的發送。關閉定時器,開放中斷,發送過程結束。發送流程見圖1。

  接收

  接收過程是在中斷處理程序中完成的。中斷是由下降沿觸發的,進入中斷的時刻是處在接收起始位的時段。為了保證接收準確,在檢測到起始位后,不能在每一位時長的開始而應在其中間進行采樣。進入中斷程序后,首先通過設定定時器,等待一位半時長,跳過整個起始位和半時長的首個數據位,然后開始按最高位在先的協議接收六個時長的數據位,每接收一位進行串并轉換和校驗位計算;隨后接收校驗位并與計算機結果比較,確定是否接收正確。出于簡化程序,校驗位接收完畢后,沒有讀取停止位。最后關閉定時器,結束接收過程,中斷返回。

  在μPD78045F的中斷系統中,高優先級中斷的響應時間最長32個CPU時鐘,這些時延應在程序中進行補償,尤其在高速率通訊時位定時時長很短,補償尤為重要。補償的方法是從位定時中減去最長時延32個時鐘。在9600波特率、定時器 4分頻計數情況下,應減去 32/4=8個定時器計數。接收中斷處理流程見圖2。

  結語

  本文介紹的軟件UART實現方法,已在項目中實際應用,達到功能要求,工作穩定可靠。從以上方案可以看出,本方法的最高波特率可達38400,每一幀的格式可靈活改變,其中數據位長度和發送順序均沒有限制,可根據需要發送數十位的數據位。

此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 国产一精品一aⅴ一免费| 好紧好爽好深再快点av在线| 亚洲综合免费视频| 被公侵犯肉体的中文字幕| 国产超清在线观看| 中文字幕在线观看一区二区三区| 欧美va亚洲va国产综合| 伊人婷婷色香五月综合缴激情| 车上做好紧我太爽了再快点| 国产精品成人免费视频网站| 一嫁三夫电影免费观看| 日本高清视频免费观看| 亚洲成人福利在线| 秋霞电影网一区二区三区| 国产亚洲欧美另类专区| 青青青手机视频在线观看| 天堂在线最新资源| 中文字幕亚洲激情| 日韩精品电影一区| 亚洲欧洲日产国码无码久久99| 精品亚洲麻豆1区2区3区| 国产内射xxxxx在线| 在线观看免费视频资源| 好男人观看免费视频播放全集 | 工囗番漫画全彩无遮挡| 久久狠狠高潮亚洲精品| 欧美巨大黑人精品videos人妖| 免费在线观看色| 腿打开一下一会就不疼了| 国产成人久久91网站下载| 18禁黄污吃奶免费看网站| 天堂√在线中文官网在线| 中文字幕aⅴ人妻一区二区| 日韩av片无码一区二区不卡电影| 亚洲日韩aⅴ在线视频| 男人肌肌捅女人肌肌视频| 啊灬啊灬别停啊灬用力啊免费看 | 精品一区二区视频在线观看| 国产自偷在线拍精品热| yy6080理论午夜一级毛片| 手机国产乱子伦精品视频|