国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

基于ADμC812的CAN總線智能節點的設計

發布時間:2010-11-1 21:36    發布者:eetech
關鍵詞: ADμC812 , CAN , 智能節點 , 總線
1 引言  

CAN(Controller Area Network)總線協議最初是以研發和生產汽車電子產品著稱的德國BOSCH公司開發的,它是一種支持分布式實時控制系統的串行通信局域網。目前,CAN總線以其高性能、高可靠性、實時性等優點,而被廣泛應用于控制系統中的檢測和執行機構之間的數據通信中。CAN總線具有以下一些技術特性:  

●多主方式工作,采用非破壞性的基于優先權的總線仲裁技術;  
●借助接收濾波可實現多地址的幀傳送;  
●數據采用短幀結構,抗干擾性強,數據幀的信息CRC校驗及其它錯誤檢測措施完善;  
●發送期間丟失仲裁或由于出錯而遭破獲的幀可以自動重發;  
●嚴重錯誤時可自動關閉總線功能,以使總線其它操作不受影響。




CAN總線符合ISO11898標準,最大傳輸速率為1MB/s時傳輸距離最大為40m;傳輸速率為5kB/s時的最大傳輸距離為10km。CAN總線的傳輸介質可為雙絞線、同軸電纜等。由于CAN總線是一種很有發展前景的現場總線,因此得到了國際上很多大公司的支持,加之基于CAN總線的硬件接口簡單,編程方便,系統容易集成。因此它特別適用于系統分布比較分散、實時性要求高、現場環境干擾大的場合。

2 系統結構  

由于CAN總線采用多主方式工作,所以它具有與DCS控制系統不一樣的拓撲結構。其控制系統的構成由計算機和智能節點組成,圖1所示是其系統結構。該系統最大的特點就是所有的節點(包括上位PC機)都能以平等的地位掛接在總線上。一個CAN總線節點通常至少包括三個部分,即負責節點任務控制的單片機、CAN總線控制器以及CAN總線收發器。本文給出的就是一個可完成數據采集功能的CAN節點的設計方法。

3 CAN節點的硬件設計


  
本CAN節點的電路原理簡圖如圖2所示。該電路的三個核心器件是單片機ADμC8121、獨立的CAN總線控制器SJA1000和CAN總線驅動器PCA82C250。其中SJA10002和PCA82C250兩者的組合應用已經在很多CAN總線節點的設計中用到,而本設計的特點就在于,它是根據要完成數據采集功能這一具體要求來選用微控制器ADμC812。圖2中的串行接口芯片MAX232作為ADμC812與PC機的串口連接,它的使用是由該單片機的調試特點決定的。  

ADμC812是高度集成、高精度12位數據采集系統,該產品在其內核中集成了帶有片內可重編程非易失性閃速/電擦除程序存儲器的高性能8位(與8051兼容)MCU和多通道(8個輸入通道)12位ADC。  

由于ADμC812只需要通過其串口模塊和計算機的串口進行連接,而不需要額外的仿真器,因而可利用ADI公司的QUICKSTART軟件來實現程序的在線下載、在線調試和在線仿真,從而極大地提高了工作效率。這也是本設計使用MAX232的原因。  

該系統在工作時,首先將從前面傳感器送來的工業標準信號(4~20mA或1~5V)通過調理電路變為0~2.5V的模擬電壓信號輸入至ADμC812的P0.0~P0.7 (AD0~AD7)引腳(根據實際情況確定所需AD端口的數量),然后通過程序控制,再將A/D轉換所得的數字信息通過SJA1000和PCA82C250送到CAN總線上的相關節點。  

SJA1000作為微控制器的片外擴展芯片,其片選引腳CS應接在微控制器的P2.0上,以用于決定CAN控制器各寄存器的地址。SJA1000通過CAN總線驅動器PCA82C250連接在物理總線上。CA82C250器件可提供對總線的差動發送能力和對CAN控制器的差動接受能力,它同時完全和“ISO11898”標準兼容。為進一步提高系統的抗干擾能力,一般在CAN總線控制器SJA1000和CAN總線驅動器PCA82C250之間加接6N137光電隔離芯片,只不過在圖2中沒有表示出來。由于通信信號傳輸到導線的端點時會發生反射,而且反射信號會干擾正常信號的傳輸,因此,總線兩端應接有終端電阻R1、R2,以消除反射信號,其阻值應當與傳輸電纜的特性阻抗大致相當。



4 CAN節點的軟件設計  

本節點的軟件編程主要包括A/D轉換(ADC)、CAN控制器的初始化、CAN總線數據的發送和接收等幾個部分。主程序的流程圖如圖3所示。  
下面分別對這幾個主要部分的程序設計做一介紹。  

4.1 A/D轉換部分  

筆者在本設計中采用的是單步A/D轉換模式,并將A/D轉換結果存入指定的數據存儲區。具體步驟如下:  

(1)通過設置ADC控制寄存器(ADCCON1和ADCCON2)的值來確定A/D轉換的工作狀態和采樣通道號;  
(2)使能ADC中斷,置位SCONV位以啟動單步A/D轉換;  
(3)等待響應ADC中斷,并進入中斷服務程序;  
(4)把采樣所得的數據從ADCDATAL和ADC-DATAH兩個特殊寄存器中取出,并存入預設的片內數據存儲器中,然后退出中斷服務程序;
(5)判斷所需通道是否采樣完畢,如果未完成,則設置采樣通道號并返回步驟(2),若完成則退出A/D轉換子程序。  


  
通過該程序可隨時根據實際需要更改采樣通道數,并將采樣結果直接存入指定數據存儲區,以為今后向CAN總線發送所得數據提供便利。
  
4.2 SJA1000的初始化  

CAN的通信協議主要是由CAN控制器完成的,因此,要想實現CAN節點的數據傳送,對CAN控制器的初始化是十分關鍵的。這個步驟直接決定著該CAN網絡系統各節點所共同遵守的協議。對SJA1000進行初始化實際上就是通過單片機向其片內的各個寄存器寫入控制字的過程,其寄存器包括以下幾個:  

REG CONTROL—內部控制寄存器地址;  
REG COMMAND—內部命令寄存器地址;  
REG STATUS —內部狀態寄存器地址;  
REG INTERRUPT—內部中斷寄存器地址;  
REG ACR—內部驗收代碼寄存器地址;  
REG AMR—內部驗收屏蔽寄存器地址;  
REG BTR0—總線定時寄存器0;  
REG BTR1—總線定時寄存器1;  
REG OCR—輸出控制寄存器。  

其中:BTR0、BTR1寄存器的內容可用于決定系統通信的波特率和CAN協議物理層中的同步跳轉寬度,因此,對于一個系統中的所有節點,這兩個寄存器的內容必須相同(包括上位機),否則將無法進行通信;OCR寄存器的內容用于決定CAN控制器的輸出方式;而寫入ACR、AMR寄存器的內容則要根據實際的網絡系統和報文標志符來決定。本設計中,筆者采用的是BasicCAN模式。  

完成初始化后,CAN控制器就能正常運行了,但是要實現具體的數據收發任務,還必須編制特定的收、發程序。  

4.3 CAN總線數據的發送和接收  

(1)發送部分的程序設計  

用CAN總線發送數據的流程圖如圖4所示。



實際上,在程序運行過程中,常常會在發送某一幀數據時發現上一幀的數據還沒有完全發送完畢(可以通過查詢狀態寄存器REG STATUS的第4位BIT TCS的顯、隱狀態可了解上次數據的發送情況)。因此,筆者采用的處理方法是:通過指令啟動本次發送之后,就不停地查詢狀態寄存器,以判斷本次發送是否完成,直到確定完成為止。這樣可以為下次發送提供便利,同時也有利于程序的順利執行,從而避免出現錯誤。  

(2)接收部分的程序設計  

圖5所示是該系統接收部分的軟件流程圖。  

實際上,在對響應速度要求不太高的場合,以查詢方式來設計接收子程序是最簡單、最可靠的方式。如果總線上有數據發往本節點,則通過查詢狀態寄存器的第1位BIT_RBS的位狀態,便可得知接收緩沖區(RXFIFO)中的可用信息,然后通過軟件將RXFIFO中的數據逐個“移入”到指定的片內存儲空間即可。對于這樣一個主要以數據采集功能為主的CAN節點,這些數據多半是由CAN網絡中的“控制中心”發來的控制信號,設計時把它們留給ADμC812進一步處理就可以了。  

還應注意的是:在接收查詢過程中,要“觀察”是否有總線關閉、總線出錯、接收緩沖器超載等狀態,如果有的話,必須要進行相應的“錯誤”處理,否則也不能正常進行數據接收,還有一個問題是關于遠程幀的處理。限于篇幅,本文不作介紹。

5 結束語  

實踐證明:本文所介紹的CAN總線智能節點能夠很好地實現對工業標準模擬輸出信號的采集以及與CAN總線上其它節點的通信。由于該節點是基于單片機ADμC812開發的,因此它的體積小巧且擴展靈活。筆者相信,基于該單片機的各種總線節點一定會得到廣泛的應用。
本文地址:http://m.qingdxww.cn/thread-35727-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • 使用SAM-IoT Wx v2開發板演示AWS IoT Core應用程序
  • 使用Harmony3加速TCP/IP應用的開發培訓教程
  • 集成高級模擬外設的PIC18F-Q71家族介紹培訓教程
  • 探索PIC16F13145 MCU系列——快速概覽
  • 貿澤電子(Mouser)專區

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 一个吃奶两个添下面H| 国产乱人精品视频AV麻豆| 国产a视频视卡在线| 久久亚洲AV成人无码国产漫画| 麻豆高潮AV久久久久久久| 午夜电影三级还珠格格| 天天狠狠操| 亚洲精品国产一区二区贰佰信息网| 午夜视频在线观看国产www| 欧美性视频在线| 婷婷激情丁香| 四方色播| 太大太粗太硬好爽受不了视频| 一二三四视频社区5在线高清视频| GOGOGO高清在线播放韩国| 看80后操| 在线视频 日韩视频二区| 亚洲欧美一区二区三区九九九| 日本色影院| 亚洲丁香婷婷综合久久六月| 午夜一区二区福利视频在线| 中文字幕123区| 国语自产拍在线视频普通话 | 四虎影视久久| 天美视频在线| 综综综综合网| 久久re这里精品23| 一色狗影院| 青青青久草| 亚洲欧美日韩精品久久久| 亚洲午夜久久| 国产精品99久久久久久AV下载 | 青青久久国产| 野外一级毛片| 日本成a人片在线观看网址| 亚洲综合自拍| 一区二区免费| 精品成人在线视频| 亚洲精品中文字幕制| 日韩人成| 天狼影院伦理片在线bd观看|