<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于CAN總線(xiàn)的智能控制器設計

基于CAN總線(xiàn)的智能控制器設計

作者: 時(shí)間:2016-09-12 來(lái)源:網(wǎng)絡(luò ) 收藏

2.4 系統數字信號輸出電路

本文引用地址:http://dyxdggzs.com/article/201609/303576.htm

針對此模塊設計,本設計包括4路數字量輸出,產(chǎn)生的數字信號由處理器產(chǎn)生頻率信號經(jīng)過(guò)主控芯片I/O輸出。對此本設計考慮到兩點(diǎn):將產(chǎn)生的二進(jìn)制0或1直接輸出到執行器前,會(huì )受到外部干擾,此處采用了光電隔離處理,選用了H11A817A作為光電隔離器件,集電極輸出電流為50 mA;再者由于數字輸出口的驅動(dòng)能力較低,所以在此選用高耐壓,大電流達林頓陣列,由7個(gè)硅NPN達林頓管組成的ULN2003AD,該器件電流增益高,灌電流可達500mA,工作電壓較大,具有較寬的溫度范圍,所以選取該器件來(lái)提高數字輸出端口的驅動(dòng)能力。

e.jpg

該電路的工作原理:對于第一路數字量輸出來(lái)說(shuō),第一種情況若DO0端輸出電壓信號為低電平時(shí),則H11A817A的發(fā)光二極管導通發(fā)光,致使光敏三極管端導通,輸出信號接在光敏三極管集電極,隔離后得到高電平信號。第二種情況若DO0端輸出高電平。光敏三極管不導通。最終得到低電平信號。

3 測試系統軟件設計

為了使系統實(shí)現需要的功能,還必須有軟件的支持。在此主要用C語(yǔ)言編寫(xiě)單片機的軟件程序,軟件部分主要完成對傳感器信號A/D,D/A轉換處理,的通信等工作。該控制器實(shí)現是通過(guò)微處理器把信號調理電路輸出的信號進(jìn)行轉換,以便于進(jìn)一步處理、傳輸等。所有功能都在這個(gè)主循環(huán)里面實(shí)現,只需調用這個(gè)主循環(huán)以外所定義的功能函數。根據不同的值執行與之對應的處理程序,A/D,D/A在系統初始化后,啟動(dòng)并不斷轉換采樣通道并根據采樣值不斷更新顯示,當有中斷發(fā)生時(shí)執行中斷服務(wù)程序。

對于整個(gè)設計框架,主程序尤為重要,系統開(kāi)啟時(shí),主程序調用各個(gè)模塊的功能子函數進(jìn)行初始化,主函數將各個(gè)子程序連接起來(lái),處理各個(gè)事件,等到程序運行結束后,再還原系統環(huán)境。本系統的軟件部分主要包括:STM32自帶ADC寄存器設置,AD轉換程序,CAN通訊收發(fā)程序,DA轉換程序等??偭鞒倘鐖D6所示。

f.jpg

4 通訊設計

制定iCAN協(xié)議的思路源于為中國中小型CAN應用網(wǎng)絡(luò )提供一種簡(jiǎn)單、可靠、穩定的應用層協(xié)議。在充分汲取了DeviceNet協(xié)議和 CANopen協(xié)議之精萃的基礎上,優(yōu)先保障通信數據的可靠性與實(shí)時(shí)性,以相對簡(jiǎn)單的方式進(jìn)行數據通信,從而有效降低了硬件實(shí)現成本,這就是iCAN協(xié)議的巨大優(yōu)勢。系統iCAN所具備的特點(diǎn)結構簡(jiǎn)單,靈活構建、低成本,而且由于采用還具有良好的可靠性和穩定性,同時(shí)iCAN系統具有易于組態(tài),安裝、運行、維護簡(jiǎn)便的特點(diǎn)。

iCAN協(xié)議規范中,I/O數據單元分為7個(gè)不同的空間,占用0x00—0xdf數據空間:數字量輸入單元DI、數字量輸出單元DO、模擬量輸入單元 AI、模擬量輸出單元AO、串行接口0單元、串行接口1單元以及保留部分。iCAN協(xié)議中資源節點(diǎn)占用256字節空間:對于任意I/O數據需訪(fǎng)問(wèn)指定資源節點(diǎn)地址,但對于配置資源中的IO配置單元要通過(guò)資源節點(diǎn)地址以及子地址的方式訪(fǎng)問(wèn),如圖7所示說(shuō)明報文處理流程。

g.jpg

5 結論

本設計的CAN控制器具備運行速度快、體積、性能可靠、功耗低等特性,實(shí)現了工業(yè)現場(chǎng)的、、數據輸出以及CAN控制器與上位機通訊等功能。在模擬量與數字量的采集基礎上,CAN控制節點(diǎn)上也有很大余量。本設計主要是針對當前工業(yè)控制的需求和現有工業(yè)設備接口單一、傳輸距離有限、數據網(wǎng)絡(luò )化程度較低等多方面的缺點(diǎn)而開(kāi)發(fā)設計的,設計出了這款接口種類(lèi)多、體積小、可靠性高、易操作的新型CAN智能控制器設備。達到預期效果。采用 STM32F103RC平臺控制板進(jìn)行軟件模擬測試,數據正常采集輸出。


上一頁(yè) 1 2 下一頁(yè)

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>