基于CAN總線和CCll00芯片的嵌入式遠程測控系統(tǒng)的設(shè)計
相關(guān)的資源有:在電路中使用了2410的一個擴展的L/O口作為片選信號,低電平有效;使用了2410的外部中斷0作為中斷引腳,低電平有效;16 MHz晶體作為輸入時鐘,MCP2510內(nèi)部有振蕩電路,用晶體可直接起振。
中心模塊端,可對C,8051F310采用模擬SPI口的方式與MCP2510連接。
2.3 無線測控模塊設(shè)計
典型的無線結(jié)構(gòu)包括一個無線發(fā)射器(包括數(shù)據(jù)源、調(diào)制器、RF源、RF功率放大器、天線、電源)和一個無線接收器BJ(包括數(shù)據(jù)接收電路、RF解調(diào)器、譯碼器、RF低噪聲放大器、天線、電源)。發(fā)射器的數(shù)據(jù)通過無線發(fā)射出去,接收器天線接收后進行處理,得到經(jīng)過校驗的正確數(shù)據(jù)。
系統(tǒng)中選用了CCll00射頻芯片作為無線收發(fā)器,理由如下:
(1) 該器件有著極為優(yōu)秀的傳輸能力,空曠傳輸距離可以達到500m,加了PA的模塊則可以達到1200m,完全滿足了一般的工廠測控距離要求。
(2) 2-FSK,GFSK和MSK支持,抗干擾能力極強,適用于工廠環(huán)境惡劣的生產(chǎn)車間。
(3) CCll00是一種低成本、真正單片的UHF收發(fā)器,可以根據(jù)自己的需要配置MCU,使用靈活,且功耗很低,完全可以采用電池供電。
(4) 它具有433/868/915 MHz3個波段載波頻率,也可以容易地設(shè)置在300—348 MHz、400—464 MHz和800—928 MHz的其他頻率上。
該系統(tǒng)選用了C8051F310作為CCI 100的微控制器。它具有一個增強型外設(shè)接口(SPIO),具有訪問一個全雙工同步串行總線的能力,具有29個I/O端口、lO位逐次逼近型的ADC和一個25通道差分輸入多路選擇器,滿足了作為數(shù)據(jù)采集的通常需求。
CCll00模塊與CPU是采用SPI口進行通信的,只需把CCll00的SPI口接到CPU的硬件SPI口上,另外,再將CCll00的GD00或GD02也接在CPU的任意引腳上。如果想要用中斷處理收發(fā)數(shù)據(jù)或是想做無線喚醒的話,該引腳必須接在CPU的外部中斷引腳上。如圖4所示。
圖4 現(xiàn)場測控C8051F310與CC1100連接示意圖
微控制器除了完成基本的芯片初始化工作、數(shù)據(jù)的發(fā)送和接收之外,還需要根據(jù)需要在CCll00的引腳產(chǎn)生中斷,并由所編寫的中斷管理程序進行狀態(tài)檢測以及切換,并執(zhí)行相應(yīng)的中斷操作,使得無線通信可以在發(fā)射和接收以及待機之間切換。
3、軟件設(shè)計
軟件設(shè)計主要包括了CAN總線通信程序模塊、無線通信部分等,其中驅(qū)動程序的設(shè)計是在LINUX下多任務(wù)操作系統(tǒng)下實現(xiàn)的,多任務(wù)系統(tǒng)中的CAN總線通信程序結(jié)構(gòu)設(shè)計流程圖。如圖5所示。
圖5 多任務(wù)系統(tǒng)中的CAN總線通信程序結(jié)構(gòu)
linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)
評論