基于FPGA和nRF905的挖掘機無線監(jiān)控數(shù)據(jù)傳輸系統(tǒng)
(2) SOPC片上串口通信程序設(shè)計
NIOSII的UART核可以設(shè)置所需的通信模式,比如波特率、偶校驗、停止位、數(shù)據(jù)位和其他控制信號。系統(tǒng)選用的串口波特率為9600bps。采用1位起始位,8位數(shù)據(jù)位和1位停止位。串口通信可以使用查詢的方式也可以使用中斷的方式。但是由于查詢的方式較為占用資源,所以本系統(tǒng)采用中斷的方式直接讀取寄存器。UART核能夠輸出一個單獨的中斷請求(IRQ)信號給Avalon總線,從而連接到Nios II處理器,通知FPGA將數(shù)據(jù)轉(zhuǎn)發(fā)至SPI接口。串口程序流程圖如圖4所示。本文引用地址:http://www.ex-cimer.com/article/190037.htm
3 上下位機與FPGA間的串口程序設(shè)計
3.1 MTC方的串口通信設(shè)計
Codesyrs進行RS232通信編程,要用到以下四個函數(shù):SysComOpen,SysComSetSettings,SysComRead,SvsComWrite。編寫程序方法類似C語言。
SvsComOpen:打開RS232通訊端口,MTC僅可選COM2,其余皆不可用。
Buffm Address:當(dāng)讀取到數(shù)據(jù)后拷貝到變量BUFFER_DATA指向的地址內(nèi);
Bvtes To Read:讀取多少個bytes。
Buffer Address:發(fā)送數(shù)據(jù)所在地址。
3.2 PC方的串口通信設(shè)計
PC的串口通信程序使用VC6.0編寫,使用Microsoft公司ActiveX控件MSComm。采用事件驅(qū)動的辦法,每當(dāng)有數(shù)據(jù)由串口收到時,就會觸發(fā)消息的響應(yīng)函數(shù)OnComm。即可由PC收取串口的數(shù)據(jù)。發(fā)送時可直接調(diào)用該控件發(fā)送。
4 結(jié)束語
本系統(tǒng)能夠低成本地設(shè)計出挖掘機無線傳輸系統(tǒng),較好地完成半雙工的挖掘機無線數(shù)據(jù)傳輸工作。采用SOPC設(shè)計挖掘機無線傳輸模塊的控制器能夠在軟硬件設(shè)計上實現(xiàn)模塊化,能夠大量地減輕研發(fā)工作量、提高研發(fā)速度。
評論