基于CAN總線的智能控制器設(shè)計
2.4 系統(tǒng)數(shù)字信號輸出電路
本文引用地址:http://www.ex-cimer.com/article/201609/303576.htm針對此模塊設(shè)計,本設(shè)計包括4路數(shù)字量輸出,產(chǎn)生的數(shù)字信號由處理器產(chǎn)生頻率信號經(jīng)過主控芯片I/O輸出。對此本設(shè)計考慮到兩點:將產(chǎn)生的二進(jìn)制0或1直接輸出到執(zhí)行器前,會受到外部干擾,此處采用了光電隔離處理,選用了H11A817A作為光電隔離器件,集電極輸出電流為50 mA;再者由于數(shù)字輸出口的驅(qū)動能力較低,所以在此選用高耐壓,大電流達(dá)林頓陣列,由7個硅NPN達(dá)林頓管組成的ULN2003AD,該器件電流增益高,灌電流可達(dá)500mA,工作電壓較大,具有較寬的溫度范圍,所以選取該器件來提高數(shù)字輸出端口的驅(qū)動能力。
該電路的工作原理:對于第一路數(shù)字量輸出來說,第一種情況若DO0端輸出電壓信號為低電平時,則H11A817A的發(fā)光二極管導(dǎo)通發(fā)光,致使光敏三極管端導(dǎo)通,輸出信號接在光敏三極管集電極,隔離后得到高電平信號。第二種情況若DO0端輸出高電平。光敏三極管不導(dǎo)通。最終得到低電平信號。
3 測試系統(tǒng)軟件設(shè)計
為了使系統(tǒng)實現(xiàn)需要的功能,還必須有軟件的支持。在此主要用C語言編寫單片機(jī)的軟件程序,軟件部分主要完成對傳感器信號A/D,D/A轉(zhuǎn)換處理,CAN總線的通信等工作。該控制器實現(xiàn)是通過微處理器把信號調(diào)理電路輸出的信號進(jìn)行轉(zhuǎn)換,以便于進(jìn)一步處理、傳輸?shù)?。所有功能都在這個主循環(huán)里面實現(xiàn),只需調(diào)用這個主循環(huán)以外所定義的功能函數(shù)。根據(jù)不同的值執(zhí)行與之對應(yīng)的處理程序,A/D,D/A在系統(tǒng)初始化后,啟動并不斷轉(zhuǎn)換采樣通道并根據(jù)采樣值不斷更新顯示,當(dāng)有中斷發(fā)生時執(zhí)行中斷服務(wù)程序。
對于整個設(shè)計框架,主程序尤為重要,系統(tǒng)開啟時,主程序調(diào)用各個模塊的功能子函數(shù)進(jìn)行初始化,主函數(shù)將各個子程序連接起來,處理各個事件,等到程序運(yùn)行結(jié)束后,再還原系統(tǒng)環(huán)境。本系統(tǒng)的軟件部分主要包括:STM32自帶ADC寄存器設(shè)置,AD轉(zhuǎn)換程序,CAN通訊收發(fā)程序,DA轉(zhuǎn)換程序等。總流程如圖6所示。
4 通訊設(shè)計
制定iCAN協(xié)議的思路源于為中國中小型CAN應(yīng)用網(wǎng)絡(luò)提供一種簡單、可靠、穩(wěn)定的應(yīng)用層協(xié)議。在充分汲取了DeviceNet協(xié)議和 CANopen協(xié)議之精萃的基礎(chǔ)上,優(yōu)先保障通信數(shù)據(jù)的可靠性與實時性,以相對簡單的方式進(jìn)行數(shù)據(jù)通信,從而有效降低了硬件實現(xiàn)成本,這就是iCAN協(xié)議的巨大優(yōu)勢。系統(tǒng)iCAN所具備的特點結(jié)構(gòu)簡單,靈活構(gòu)建、低成本,而且由于采用CAN總線還具有良好的可靠性和穩(wěn)定性,同時iCAN系統(tǒng)具有易于組態(tài),安裝、運(yùn)行、維護(hù)簡便的特點。
iCAN協(xié)議規(guī)范中,I/O數(shù)據(jù)單元分為7個不同的空間,占用0x00—0xdf數(shù)據(jù)空間:數(shù)字量輸入單元DI、數(shù)字量輸出單元DO、模擬量輸入單元 AI、模擬量輸出單元AO、串行接口0單元、串行接口1單元以及保留部分。iCAN協(xié)議中資源節(jié)點占用256字節(jié)空間:對于任意I/O數(shù)據(jù)需訪問指定資源節(jié)點地址,但對于配置資源中的IO配置單元要通過資源節(jié)點地址以及子地址的方式訪問,如圖7所示說明報文處理流程。
5 結(jié)論
本設(shè)計的CAN控制器具備運(yùn)行速度快、體積、性能可靠、功耗低等特性,實現(xiàn)了工業(yè)現(xiàn)場的數(shù)據(jù)采集、數(shù)據(jù)處理、數(shù)據(jù)輸出以及CAN控制器與上位機(jī)通訊等功能。在模擬量與數(shù)字量的采集基礎(chǔ)上,CAN控制節(jié)點上也有很大余量。本設(shè)計主要是針對當(dāng)前工業(yè)控制的需求和現(xiàn)有工業(yè)設(shè)備接口單一、傳輸距離有限、數(shù)據(jù)網(wǎng)絡(luò)化程度較低等多方面的缺點而開發(fā)設(shè)計的,設(shè)計出了這款接口種類多、體積小、可靠性高、易操作的新型CAN智能控制器設(shè)備。達(dá)到預(yù)期效果。采用 STM32F103RC平臺控制板進(jìn)行軟件模擬測試,數(shù)據(jù)正常采集輸出。
評論