新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于STC10F04EX的多串口數(shù)據(jù)收發(fā)系統(tǒng)

基于STC10F04EX的多串口數(shù)據(jù)收發(fā)系統(tǒng)

作者: 時間:2011-02-22 來源:網(wǎng)絡 收藏


由于連接的不同串口設備的通信參數(shù)不完全相同,STC10F04EX必須根據(jù)設備指向動態(tài)調(diào)整串口參數(shù)以適合外部串口設備。
顯示芯片7279A可以驅(qū)動8位共陰LED數(shù)碼管并可采集64個鍵盤位置信號。該系統(tǒng)通過數(shù)碼管顯示工作狀態(tài)(收發(fā),等待,時間,通道號,參數(shù)等);通過鍵盤不僅可以設置“多串口數(shù)據(jù)收發(fā)控制系統(tǒng)”自身參數(shù)和調(diào)節(jié)自身狀態(tài),還可修改/設置所連接的外部設備的傳送參數(shù)。CPU通過4個I/O引腳與7279A的4條控制線CS、DATA、CLK、KEY連接,就可驅(qū)動8位數(shù)碼管并對按鍵進行監(jiān)控。為了響應及時,采用中斷方式響應按鍵狀態(tài),因此將KEY連接到P3.2(int0)上。
無線收發(fā)模塊,嵌入高性能射頻芯片,采用高效循環(huán)交織糾檢錯編碼,發(fā)送距離可達3 000 m。模塊具有TTL電平的UART口,因此可以很方便地與單片機的一個擴展的UART連接。向無線收發(fā)模塊寫入和讀出數(shù)據(jù),與一般的串口操作基本一樣。無線收發(fā)模塊頻點、空中速率、本地串口速率、校驗方式等參數(shù)可以在線設置或通過廠家提供的程序進行設置。
系統(tǒng)中無線收發(fā)模塊本地串口通信參數(shù)設為(9 600,8,N,1),數(shù)據(jù)被調(diào)制在434 MHz進行發(fā)送和接收,空中速率9 600 b/s,發(fā)射功率100 mW。
該無線收發(fā)模塊,收到數(shù)據(jù)后通常延時幾十到幾百毫秒才發(fā)送,所帶緩存256 B。若本地串口速率大于等于空中速率,則存在數(shù)據(jù)流量問題,可能會出現(xiàn)數(shù)據(jù)溢出導致丟失現(xiàn)象。因此若傳送數(shù)據(jù)超過256 B,要進行數(shù)據(jù)分割,插入等待周期,采用分次發(fā)送的方式以避免數(shù)據(jù)丟失。本系統(tǒng)所連接的光譜儀數(shù)據(jù)量較大,因此單片機接收光譜儀數(shù)據(jù)后再經(jīng)無線轉(zhuǎn)發(fā),要采用分段接收/轉(zhuǎn)發(fā)方式,每次的數(shù)據(jù)量要小于256 B,多次重復,直至全部數(shù)據(jù)。

3 軟件設計
3.1 有關(guān)寄存器的說明

程序運行時首先進行初始化設置,其中涉及到幾個比較特別的寄存器,其定義不同于其他51系列的單片機。
寄存器AUXR,地址8EH。關(guān)系到獨立波特率發(fā)生器,STC10F04EX既可以采用定時器1作為波特率發(fā)生器,又可以采用獨立波特率發(fā)生器以釋放定時器1,見表3說明。


寄存器AUXR1,地址A2H。其中的D7位關(guān)系到單片機內(nèi)在的串口切換。例如:

3.2 數(shù)據(jù)存儲及轉(zhuǎn)發(fā)
STC10F04EX單片機,內(nèi)部數(shù)據(jù)存儲器為256 B,片上擴展的外部數(shù)據(jù)存儲器為256 B,共計512 B,數(shù)據(jù)空間緊湊。程序運行中的一些變量需要占用一部分數(shù)據(jù)空間,因此只能開辟約220個字節(jié)作為緩存空間,暫存接收到的來自串口設備的數(shù)據(jù)。如果一次接收的數(shù)據(jù)量小于緩存空間,則不會導致數(shù)據(jù)溢出;如果外部設備需傳送的數(shù)據(jù)量較大,則必須與外部設備建立聯(lián)絡控制發(fā)送,以使每次傳來的數(shù)據(jù)小于系統(tǒng)緩存,避免數(shù)據(jù)丟失現(xiàn)象的發(fā)生。

光譜分析儀相關(guān)文章:光譜分析儀原理


關(guān)鍵詞: 收發(fā)器

評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉