1. gzyueqian
      13352868059
      首頁 > 新聞中心 > > 正文

      基于STR71X的數據鏈路控制規程設計

      更新時間: 2009-08-04 08:10:09來源: 粵嵌教育瀏覽量:1108

      數據鏈路控制(HDLC,High-level Data LinkControl)規程是由同際標準化組織開發,面向比特同步的數據鏈路層協議。

             隨著ARM處理器市場的成熟,ARM處理器上的數據鏈路控制器外設,幾乎涵蓋了HDLC規程常用的大部分子集。隨著處理能力的提高,在ARM的底層對HDLC通信過程進行控制,具有成本低、靈活性好、便于擴展為操作系統上的應用程序等優點。

             1 STR71X系列的數據鏈路控制器

             1.1 STR71X的芯片介紹

             STR71X系列足基于16/32位ARM7TDMI內核的微控制器。該系列中的所有器件都包含片上高速單電壓Flash存儲器和高速RAM存儲器。除了HDLC同步通信接口外,還提供了I2C、UART、BSPI、USB2.0、CAN接口等,極大地豐富了該系列在通信、網絡等方面的控制能力。

             1.2 STR71X的HDLC模塊介紹

             STR71X系列上的數據鏈路控制器支持全雙工操作,能夠自動完成標志的設置、零位的檢測、校驗序列(FCS,Frame Check Sequence)的產生和校驗;32位可屏蔽地址區域識別,3種可供選擇的時鐘,支持NRZ、NRZI、FM0或MANCHESTER數據編碼模式,支持時鐘恢復的數字鎖相環(DPLL);內部含1個8位波特率生成器,2個128字節RAM緩沖器。實際應用中,fm0數據編碼模式下,可以實現250 kb/s的數據收發。

             1.3 STR71X系列采用的HDLC幀的格式

             STR71X的HDLC模塊中數據是以幀為單位發送的。STR71X系列采用的HDLC的幀格式如下:

             前(后)同步碼:在發送器使能,且HDLC_TCTL中的前同步碼發送使能開啟的情況下,當把要傳送的數據的字節數寫入寄存器時,HDLC模塊就開始發送0~16位的前同步碼。

             標志序列:采用“0111 1110”為標忐序列,所有的幀必須以“0111 1110”標志開始和結束。標志的檢測和插入由HDLC模塊自動完成。在傳送的數據中,“0”后面跟隨連續的6個“1”再跟一個“0”,就會被模塊識別為標志。一個標志可以同時作為一個幀的開始標志和下一個幀的結束標志。

             地址序列:STR71X有8組地址寄存器,通過設置可以實現32位可屏蔽私有地址域的識別,或者4字節的可屏蔽組地址域的識別(后者用于廣播傳送模式)。

             信息序列:需要傳送的數據或者字符。

             校驗序列:FCS域對標志位和插入的“0”以外的數據,進行循環冗余校驗,采用CCITT(g(x)=16+X12+X5+1)對地址域,字節數據和FCS域數據生成CRC編碼。接收方根據該編碼進行檢錯,但不糾錯。如果報錯,將丟棄該幀。

             零插入:為了保證標志碼“0111 1110”不在幀的內部出現,STR71X采用硬件自動實現“零插入”。該法在發送端監視除標志碼以外的所有字段,當發現有連續5個“1”出現時,便在其后添加一個“0”;在接收端,連續的5個“1”后面的“0”自動被刪除。

             幀間時間填充:可以選擇為發送標志,或者發送空閑狀態。

             2 STR71X系列中HDLC模塊配置

             HDLC模塊發送和接收可以有3種時鐘配置:PLL2輸出,PCLK1和DPLL。時鐘配置框圖如圖1所示。

             HDLC控制器可以處理NRZ、NRZI、FM0、MAN-CHESTER編碼。編解碼方式可以獨立選擇,分別由HDLC_TCTL和HDLC_RCTL控制。使用PLL2為時鐘源時,HDLC模塊只能運行在NRZ和NRZI模式。

            3 STR71X系列中HDLC模塊編程

            3.1 開啟外設寄存器的訪問及配置編譯環境

             根據使用到的外設,編輯71x_conf.h文件,設定為:#define_HDLC,#define_GPIO,#define_TIM。去掉DEBUG注釋屏蔽標記,允許在監視窗口查看外設寄存器。

            將STR71X系列的集成軟件函數庫添加到編譯環境下,并且按照STR71X的使用說明配置編譯環境。

           3.2 發送接收環境的設置

            ①配置不同的分頻系數,產生適當的操作頻率,配置HDLC的時鐘為PLL2的輸出。

           3.3 發送過程和接收過程

             利用庫函數將數據寫入緩沖區,當TEN置位時,寫入需要傳送的數據字節數。按如下方法配置好中斷函數,就可以實現中斷模式的傳送。

             3.4 測試過程

             編寫串口程序,將接收到的數據用超級終端顯示出來。利用串口將實驗板數據傳送到PC機,在Windows界面下,用系統自帶的超級終端檢驗數據傳輸的正確性。

             結 語

             HDLC規程透明傳輸、可靠性高,對于不同的使用需求有很好的靈活性。在沒有操作系統的模式下,利用ST公司的硬件模塊實現HDLC協議的傳輸,不僅可以減少不必要的開銷,而且增強了對硬件直接應用的靈活性。

      免費預約試聽課

      亚洲另类欧美综合久久图片区_亚洲中文字幕日产无码2020_欧美日本一区二区三区桃色视频_亚洲AⅤ天堂一区二区三区

      
      

      1. 色综合久久综合一区二区三区 | 亚洲午夜高清国产 | 亚洲色婷婷5月 | 亚洲精选在线视频 | 日本少妇精品亚洲第一区 | 在线免费看AV的网站 |