CAN網(wǎng)絡(luò)通訊實(shí)驗(yàn)板課程設(shè)計(jì)



《CAN網(wǎng)絡(luò)通訊實(shí)驗(yàn)板課程設(shè)計(jì)》由會(huì)員分享,可在線閱讀,更多相關(guān)《CAN網(wǎng)絡(luò)通訊實(shí)驗(yàn)板課程設(shè)計(jì)(25頁(yè)珍藏版)》請(qǐng)?jiān)谘b配圖網(wǎng)上搜索。
1、CAN網(wǎng)絡(luò)通訊實(shí)驗(yàn)板課程設(shè)計(jì) 目 錄 1 前言 .................................................................................................................. 1 2 系統(tǒng)設(shè)計(jì) .......................................................................................................... 2 ·2.1硬件設(shè)計(jì).............................
2、......................................................................... 2 ··硬件方案比較........................................................................................ 2 ··硬件方案論證........................................................................................ 3 ··硬件方案選擇...............
3、......................................................................... 4 ·2.2硬件設(shè)計(jì)....................................................................................................... 4 ··2.1軟件設(shè)計(jì)方案........................................................................................... 7 3系
4、統(tǒng)硬件設(shè)計(jì) ................................................................................................... 8 ·3.1 CAN總線介紹........................................................................................... 8 ·3.2從站CAN總線接口電路.....................................................................
5、...... 8 ·3.3硬件模塊說(shuō)明.............................................................................................. 9 ·3.4 CAN電路接線.......................................................................................... 10 ·3.5 CAN總線控制器SJA1000.......................................................
6、................ 10 ·3.6 CAN控制器接口PCA82C250................................................................. 10 4系統(tǒng)軟件設(shè)計(jì) ................................................................................................. 11 ·4.1程序流程圖....................................................................
7、............................. 11 ·· 主程序流程圖.......................................................................................11 ·· 初始化子程序流程圖...........................................................................11 ·· 發(fā)送數(shù)據(jù)子程序流程圖..............................................................
8、....... 12 ·· 接收數(shù)據(jù)子程序流程圖..................................................................... 13 ·4.2 軟件實(shí)現(xiàn)過(guò)程............................................................................................ 13 ·4.2核心源程序....................................................................................
9、............. 15 5系統(tǒng)調(diào)試 ......................................................................................................... 21 ·5.1 PC機(jī)與下位機(jī)的通訊調(diào)試...................................................................... 21 ·5.2 CAN總線調(diào)試..............................................................
10、............................ 21 ·5.3 單片機(jī)最小系統(tǒng)電路的調(diào)試.................................................................... 21 ·5.4 綜合調(diào)試.................................................................................................... 22 ·5.5 最終實(shí)現(xiàn)效果....................................................
11、........................................ 22 ·5.6 測(cè)試儀器................................................................................................... 22 6結(jié)果分析及心得體會(huì) ..................................................................................... 23 ·6.1 結(jié)果分析................................
12、.................................................................... 23 ·6.2 心得體會(huì).................................................................................................... 23 ·· CAN總線的其他應(yīng)用....................................................................... 23 7 參考文獻(xiàn) .................
13、....................................................................................... 25 附錄:系統(tǒng)設(shè)計(jì)原理圖...................................................................................... 26 1 前言 現(xiàn)場(chǎng)總線是當(dāng)今自動(dòng)化領(lǐng)域技術(shù)發(fā)展的熱點(diǎn)之一,被譽(yù)為自動(dòng)化領(lǐng)域的計(jì)算機(jī)局域網(wǎng)。它的出現(xiàn)為分布式控制系統(tǒng)實(shí)現(xiàn)各節(jié)點(diǎn)之間實(shí)時(shí)、可靠的數(shù)據(jù)通信提供了強(qiáng)有力的技術(shù)支持。CAN(Controller Area
14、Network)屬于現(xiàn)場(chǎng)總線的范疇,是一種多主方式的串 行通訊總線,數(shù)據(jù)通信實(shí)時(shí)性強(qiáng)。與其它現(xiàn)場(chǎng)總線比較而言,CAN總線具有通信速率高、容易實(shí)現(xiàn)、可靠性高、性價(jià)比高等諸多特點(diǎn)。 本系統(tǒng)要在單片機(jī)中實(shí)現(xiàn)CAN總線的接口,通過(guò)CAN總線,實(shí)現(xiàn)兩個(gè)模塊之間的數(shù)據(jù)通訊。系統(tǒng)主要由四部分所構(gòu)成:PC機(jī)、微控制器80C51、獨(dú)立CAN通信控制器SJA1000和CAN總線收發(fā)器PCA82C250。微處理器80C51負(fù)責(zé)SJA1000的初始化,通過(guò)控制SJA1000實(shí)現(xiàn)數(shù)據(jù)的發(fā)送和接收等通信任務(wù)。CAN總線節(jié)點(diǎn)的軟件設(shè)計(jì)主要包括三大部分:CAN節(jié)點(diǎn)初始化、報(bào)文發(fā)送和報(bào)文接收。 本系統(tǒng)通過(guò)擴(kuò)展CAN總線控制
15、器SJA1000,在單片機(jī)系統(tǒng)中實(shí)現(xiàn)了CAN總線的接口,并且編寫了SJA1000的驅(qū)動(dòng)程序,通過(guò)讀寫其的內(nèi)部寄存器,完成工作方式的設(shè)置、接收濾波方式的設(shè)置、接收屏蔽寄存器(AMR)和接收代碼寄存器(ACR)的設(shè)置、、波特率參數(shù)設(shè)置和中斷允許寄存器(IER)的設(shè)置等基本操作;利用各基本操作,完成了對(duì)SJA1000的初始化,并且實(shí)現(xiàn)了數(shù)據(jù)發(fā)送和接收。 2 系統(tǒng)設(shè)計(jì) 要實(shí)現(xiàn)一個(gè)系統(tǒng)的某些功能往往不只一種方法和途徑,我們可以通過(guò)不同的方法實(shí) 現(xiàn)相同的功能,因此我們需要從各個(gè)角度進(jìn)行綜合考慮,如各個(gè)方案的可行性、實(shí)用性、穩(wěn)定性、實(shí)現(xiàn)的難度等。從而選擇較好的一種方案進(jìn)行設(shè)計(jì)。 下面對(duì)本設(shè)計(jì)的各個(gè)
16、模塊進(jìn)行方案對(duì)比,以選擇較為合理的設(shè)計(jì)方案。 2.1硬件設(shè)計(jì) 硬件方案比較 方案一:本方案是基于三星公司的ARM微處理器S3C2440與PHILIPS公司的CAN控制器SJA1000的嵌入式控制系統(tǒng),在本系統(tǒng)中,S3C2440直接與SJA10000相連接,由S3C2440控制CAN收發(fā)器。S3C2440是高速的微處理器,其最高的工作頻率可以達(dá)到533MHz,且內(nèi)部資源十分豐富,十分適合嵌入式便攜式產(chǎn)品的應(yīng)用和開發(fā),該方案的框架圖如圖2.1所示。 但由于S3C2440的硬件電路連接十分復(fù)雜,對(duì)于繪制PCB板有很大的難度,且加工工藝要求比較高,一般是六層板加工工藝,對(duì)于單個(gè)加工來(lái)說(shuō)加工
17、成本非常高,且使用起來(lái)也比80C51要復(fù)雜很多,對(duì)于本設(shè)計(jì)來(lái)說(shuō)很浪費(fèi)資源和成本。SJA1000的設(shè)計(jì)是基于早期的8051單片機(jī)的應(yīng)用,對(duì)于從站控制器可以直接與單片機(jī)的總線相連接,但不能直接與s3c2440連接,因?yàn)閟3c2440的地址總線和數(shù)據(jù)總線完全是分開的,所以還需要模擬出類似80C51單片機(jī)的外部存儲(chǔ)器時(shí)序才能使用,這樣接口連接也不能夠直接對(duì)應(yīng)。SJA1000一般是5V電壓供電,而s3c2440一般為3.3V供電,其接口電壓最高只能達(dá)到3.3V,所以電平也不兼容,要用特殊的轉(zhuǎn)接電路才能實(shí)現(xiàn)連接。這樣在硬件和軟件都增加了很大的難度,因此很難實(shí)現(xiàn)功能。 方案二:本方案通過(guò)PC機(jī)進(jìn)行上位機(jī)控
18、制,80C51與PC機(jī)串行通信,設(shè)置SJA1000工作于Intel模式,由PC機(jī)發(fā)送的數(shù)據(jù)寫入SJA1000并通過(guò)CAN收發(fā)器發(fā)送。接收數(shù)據(jù)是通過(guò)中斷進(jìn)行的,CAN 總線傳輸過(guò)來(lái)的數(shù)據(jù)經(jīng)CAN接口芯片PCA82C250接收并寫入SJA1000的RXFIFO,然后通過(guò)中斷提請(qǐng)CPU讀取,讀取的數(shù)據(jù)上傳送給PC機(jī)。試驗(yàn)表明,CAN總線的結(jié)構(gòu)簡(jiǎn)潔、數(shù)據(jù)傳輸穩(wěn)定可靠、抗干擾能力強(qiáng)、傳輸速率可達(dá)1Mbit/s同時(shí)能有128個(gè)從站系統(tǒng),能滿足現(xiàn)場(chǎng)的實(shí)時(shí)性要求。其系統(tǒng)的結(jié)構(gòu)框圖如圖2.2所示。 這種方案的好處在于硬件結(jié)構(gòu)相對(duì)簡(jiǎn)單,SJA1000的設(shè)計(jì)是基于早期的8051單片機(jī)的應(yīng)用,其接口完全與80
19、C51的外部總線接口兼容,電平也完全兼容,都為5V供電。上位機(jī)界面可以通過(guò)常見的編程軟件,其主要的編寫平臺(tái)有Microsoft公司的Visual Basic與Visual C++,Borland公司的Delphi,Sybase公司的Power Builder等,上位機(jī)控制界面通過(guò)串口傳輸數(shù)據(jù)到主站的控制器,主控器再通過(guò)CAN網(wǎng)絡(luò)與各個(gè)從站控制器相連接,實(shí)現(xiàn)相互間通訊,交換相應(yīng)的數(shù)據(jù),這樣便可以采集到遠(yuǎn)處的實(shí)用信息。操作簡(jiǎn)單,界面設(shè)計(jì)更加容易。 硬件方案論證 方案一:由圖2.1可以看出,該方案采用嵌入式系統(tǒng),S3C2440為32位的高速微處理器,其內(nèi)部和外部資源豐富,能夠很好地支持多種操作系
20、統(tǒng),如:WinCE,uCosⅡ,linux等,通過(guò)操作系統(tǒng)能夠很方便地對(duì)系統(tǒng)進(jìn)行管理和操作,給我們的程序編寫帶來(lái)了很大的方便,本方案采用的是linux 操作系統(tǒng),該系統(tǒng)最大優(yōu)點(diǎn)在于可移植性很強(qiáng),支持多種不同平臺(tái)的MCU,對(duì)S3C2440有很好的支持,其源代碼開源。系統(tǒng)用嵌入式QT(Embedded QT)做界面設(shè)計(jì),界面更加友好,可通過(guò)觸摸屏、鼠標(biāo)和鍵盤對(duì)系統(tǒng)進(jìn)行操作,但由于 S3C2440的硬件電路連接十分復(fù)雜,對(duì)于繪制PCB板有很大的難度,且加工工藝要求比較高,一般是六層板加工工藝,對(duì)于單個(gè)加工來(lái)說(shuō)加工成本非常高,且使用起來(lái)也比80C51要復(fù)雜很多,對(duì)于本設(shè)計(jì)來(lái)說(shuō)很浪費(fèi)資源和成本。SJA1
21、000的設(shè)計(jì)是基于早期的8051單片機(jī)的應(yīng)用,對(duì)于從站控制器可以直接與單片機(jī)的總線相連接,但不能直接與s3c2440連接,因?yàn)閟3c2440的地址總線和數(shù)據(jù)總線完全是分開的,所以還需要模擬出類似80C51單片機(jī)的外部存儲(chǔ)器時(shí)序才能使用,這樣接口連接也不能夠直接對(duì)應(yīng)。SJA1000一般是5V電壓供電,而s3c2440一般為3.3V供電,其接口電壓最高只能達(dá)到3.3V,所以電平也不兼容,要用特殊的轉(zhuǎn)接電路才能實(shí)現(xiàn)連接,硬件和軟件都增加了很大的難度,因此很難實(shí)現(xiàn)功能。 方案二:由圖2.2可以看出,這種方案的硬件實(shí)現(xiàn)較為容易,結(jié)構(gòu)也比較簡(jiǎn)單,整個(gè)系統(tǒng)的控制方式為PC機(jī)作為人機(jī)交互的接口,硬件結(jié)構(gòu)相對(duì)
22、簡(jiǎn)單,SJA1000的設(shè)計(jì)是基于早期的8051單片機(jī)的應(yīng)用,其接口完全與80C51的外部總線接口兼容,電平也完全兼容,都為5V供電。上位機(jī)界面可以通過(guò)常見的編程軟件,界面設(shè)計(jì)容易,且操作簡(jiǎn)便。 硬件方案選擇 通過(guò)以上兩種方案的論證比較,結(jié)合本題,選擇方案二。方案二通過(guò)PC機(jī)進(jìn)行上位機(jī)控制,80C51與PC機(jī)串行通信,設(shè)置SJA1000工作于Intel模式,由PC機(jī)發(fā)送的數(shù)據(jù)寫入SJA1000并通過(guò)CAN收發(fā)器發(fā)送。接收數(shù)據(jù)是通過(guò)中斷進(jìn)行的,CAN 總線傳輸過(guò)來(lái)的數(shù)據(jù)經(jīng)CAN接口芯片PCA82C250接收并寫入SJA1000的RXFIFO,然后通過(guò)中斷提請(qǐng)CPU讀取,讀取的數(shù)據(jù)上傳送給PC機(jī)
23、。試驗(yàn)表明,CAN總線的結(jié)構(gòu)簡(jiǎn)潔、數(shù)據(jù)傳輸穩(wěn)定可靠、抗干擾能力強(qiáng)、傳輸速率可達(dá)1Mbit/s同時(shí)能有128個(gè)從站系統(tǒng),能滿足現(xiàn)場(chǎng)的實(shí)時(shí)性要求。 2.2硬件設(shè)計(jì) 1. 芯片介紹 SJA1000:SJA1000 是一種獨(dú)立控制器 用于移動(dòng)目標(biāo)和一般工業(yè)環(huán)境中的區(qū)域網(wǎng)絡(luò)控制 CAN 它是 PHILIPS半導(dǎo)體 PCA82C200 CAN 控制器 BasicCAN 的替代產(chǎn)品 而且 它增加了一種新的工作模式 PeliCAN ,這種模式支持具有很多新特性的 CAN 2.0B 協(xié)議。其特性如下: · 和 PCA82C200 獨(dú)立 CAN 控制器引腳兼容 · 和 PCA82C200 獨(dú)立 CAN
24、控制器電氣兼容 · PCA82C200 模式 即默認(rèn)的 BasicCAN 模式 · 擴(kuò)展的接收緩沖器 64 字節(jié) 先進(jìn)先出 FIFO · 和 CAN2.0B 協(xié)議兼容 PCA82C200 兼容模式中的 · 同時(shí)支持 11 位和 29 位識(shí)別碼 · 位速率可達(dá) 1Mbits/s · PeliCAN 模式擴(kuò)展功能 --可讀/寫訪問(wèn)的錯(cuò)誤計(jì)數(shù)器 --可編程的錯(cuò)誤報(bào)警限制 --最近一次錯(cuò)誤代碼寄存器 --對(duì)每一個(gè) CAN 總線錯(cuò)誤的中斷 --具體控制位控制的仲裁丟失中斷 --單次發(fā)送 無(wú)重發(fā) --只聽模式 無(wú)確認(rèn) 無(wú)活動(dòng)的出錯(cuò)標(biāo) 志 --支持熱插拔
25、軟件位速率檢測(cè) --驗(yàn)收濾波器擴(kuò)展 4 字節(jié)代碼 4 字節(jié)屏蔽 --自身信息接收 自接收請(qǐng)求 · 24MHz時(shí)鐘頻率 · 對(duì)不同微處理器的接口 · 可編程的 CAN 輸出驅(qū)動(dòng)器配置 · 增強(qiáng)的溫度適應(yīng) -40~+125℃ 6N137:高速光隔,最高速度10Mb/s,用于保護(hù)CAN控制器。 PCA82C250:CAN總線收發(fā)器,是CAN控制器與CAN總線的接口器件,對(duì)CAN總線差分式發(fā)送。 2. CAN控制器與CPU接口設(shè)計(jì) 對(duì)于CPU來(lái)說(shuō),CAN控制器是確保雙方獨(dú)立工作的存貯器映象外圍設(shè)備。CAN控制器與外部CPU的接口是通過(guò)控制器接口邏輯(CIL)實(shí)現(xiàn)的,80C5
26、1 的CPU通過(guò)將地址總線(AB)和數(shù)據(jù)總線(DB)連接到CIL上來(lái)完成與CAN控制器之間的信息交換,不需要專門的控制總線(CB),CPU與PCA82C250之間的狀態(tài)、控制和命令信號(hào)的交換在CAN控制器中完成。 SJA1000與單片機(jī)的接口電路如圖2.3所示。 3. CAN控制器工作電路的連接 為了增強(qiáng)CAN總線節(jié)點(diǎn)的抗干擾能力,SJA1000的TX0和RX0并不是直接與PCA82C250的TXD和RXD相連,而是通過(guò)高速光隔6N137后與PCA82C250相連,這樣就很好的實(shí)現(xiàn)了總線上各CAN節(jié)點(diǎn)間的電氣隔離。 若PCA82C250處于CAN總線的網(wǎng)絡(luò)終端,總線接口部分需加一個(gè)
27、120歐姆的匹配電阻。 CAN控制器工作電路如下圖所示: 2.1軟件設(shè)計(jì)方案 CAN 總線節(jié)點(diǎn)的軟件設(shè)計(jì)主要包括三大部分:CAN節(jié)點(diǎn)初始化、報(bào)文發(fā)送和報(bào)文接收。熟悉這三部分程序的設(shè)計(jì)就能編寫出利用CAN總線進(jìn)行通信的一般應(yīng)用程序。當(dāng)然要將CAN總線應(yīng)用于通信任務(wù)比較復(fù)雜的系統(tǒng)中,還需詳細(xì)了解有關(guān)CAN總線錯(cuò)誤處理、總線脫離處理、接收濾波處理、波特率參數(shù)設(shè)置和自動(dòng)檢測(cè)以及CAN總線通信距離和節(jié)點(diǎn)數(shù)的計(jì)算等方面的內(nèi)容。 SJA1000的初始化只有在復(fù)位模式下才可以進(jìn)行,初始化主要包括工作方式的設(shè)置、接收濾波方式的設(shè)置、接收屏蔽寄存器(AMR)和接收代碼寄存器(ACR)的設(shè)置、波特率參數(shù)
28、設(shè)置和中斷允許寄存器(IER)的設(shè)置等。在完成SJA1000的初始化設(shè)置以后,SJA1000就可以回到工作狀態(tài),進(jìn)行正常的通信任務(wù)。 發(fā)送子程序負(fù)責(zé)節(jié)點(diǎn)報(bào)文的發(fā)送。發(fā)送時(shí)用戶只需將待發(fā)送的數(shù)據(jù)按特定格式組合成一幀報(bào)文,送入SJA1000發(fā)送緩存區(qū)中,然后啟動(dòng)SJA1000 發(fā)送即可。 接收子程序負(fù)責(zé)節(jié)點(diǎn)報(bào)文的接收以及其它情況處理。接收子程序比發(fā)送子程序要復(fù)雜一些,因?yàn)樵谔幚斫邮請(qǐng)?bào)文的過(guò)程中,同時(shí)要對(duì)諸如總線脫離、錯(cuò)誤報(bào)警、接收溢出等情況進(jìn)行處理。SJA1000報(bào)文的接收主要有兩種方式:中斷接收方式和查詢接收方式,兩種接收方式編程的思路基本相同,如果對(duì)通信的實(shí)時(shí)性要求不是很強(qiáng),一般采用查詢接
29、收方式。 3系統(tǒng)硬件設(shè)計(jì) 3.1 CAN總線介紹 CAN全稱為“Controller Area Network”, 即控制器局域網(wǎng),是國(guó)際上應(yīng)用最廣泛的現(xiàn)場(chǎng)總線之一。最初CAN被設(shè)計(jì)作為汽車環(huán)境中的微控制器通訊,在車載各電子控制裝置ECU之間交換信息,形成汽車電子控制網(wǎng)絡(luò)。比如發(fā)動(dòng)機(jī)管理、系統(tǒng)變速箱控制器、儀表裝備中,均嵌入CAN控制裝置。 一個(gè)由CAN總線構(gòu)成的單一網(wǎng)絡(luò)中,理論上可以掛接無(wú)數(shù)個(gè)節(jié)點(diǎn)。實(shí)際應(yīng)用中,節(jié)點(diǎn)數(shù)目受網(wǎng)絡(luò)硬件的電氣特性所限制。例如當(dāng)使用Philips PCA82C250作為CAN收發(fā)器時(shí),同一網(wǎng)絡(luò)中允許掛接110個(gè)節(jié)點(diǎn)。CAN 可提供高達(dá)1Mbit/s的數(shù)據(jù)傳
30、輸速率,這使實(shí)時(shí)控制變得非常容易,另外硬件的錯(cuò)誤檢定特性也增強(qiáng)了CAN的抗電磁干擾能力。 CAN是一種多主方式的串行通訊總線?;驹O(shè)計(jì)規(guī)范要求有高的位速率,高抗電磁干擾性,而且能夠檢測(cè)出產(chǎn)生的任何錯(cuò)誤。當(dāng)信號(hào)傳輸距離達(dá)到10Km 時(shí),CAN仍可提供高達(dá)50Kbit/s 的數(shù)據(jù)傳輸速率。由于CAN 總線具有很高的實(shí)時(shí)性能,因此CAN已經(jīng)在汽車工業(yè)、航空工業(yè)、工業(yè)控制、安全防護(hù)等領(lǐng)域中得到了廣泛應(yīng)用。 3.2從站CAN總線接口電路 目前廣泛流行的 CAN總線器件有兩大類:一類是獨(dú)立的CAN控制器,如82C200、SJA1000及Intel82526/82527等,另一類是帶有在片CAN的微控
31、制器,如P8SC582及16位微控制器87C196CA/CB等。我們選用PHILIPS公司的SJA1000CAN控制器以及82C250總線收發(fā)器,見圖1。主要是考慮到SJA1000支持CAN2.0A/B規(guī)約。而82C250可以支持110個(gè)CAN節(jié)點(diǎn),并且國(guó)內(nèi)市場(chǎng)上PHILIPS的產(chǎn)品型號(hào)比較多,購(gòu)買比較方便。 PHILIPS公司的SJA1000是符合CAN2.0B協(xié)議的總線控制器,它是應(yīng)用于汽車和一般工業(yè)環(huán)境的獨(dú)立CAN 總線控制器。由于硬件和軟件的兼容它將會(huì)替代PCA82C200,它與PCA82C200 相比具有更先進(jìn)的特征因此特別適合于轎車內(nèi)的電子模塊傳感器制動(dòng)器的連接和通用工業(yè)應(yīng)用中特
32、別是系統(tǒng)優(yōu)化系統(tǒng)診斷和系統(tǒng)維護(hù)時(shí)特別重要。SJA1000具有完成CAN通信協(xié)議所要求的全部特性。經(jīng)過(guò)簡(jiǎn)單總線連接的SJA1000可完成CAN總線的物理層和數(shù)據(jù)鏈路層的所有功能。其硬件與軟件設(shè)計(jì)可兼容基本 CAN模式(BasicCAN)和新增加的增強(qiáng)CAN模式(PeliCAN)CAN2.0B協(xié)議。 CAN總線的硬件連接圖如圖3.2所示 3.3硬件模塊說(shuō)明 CAN總線模塊由一個(gè)CAN總線控制器SJA1000和一個(gè)CAN收發(fā)器PCA82C250組成,它們共同構(gòu)成一個(gè)CAN節(jié)點(diǎn)。模塊的電源由接口掛箱上的接口插座提供。 模塊上的RESET、INT、TX0、RX0插孔分別對(duì)應(yīng)于SJA100
33、0芯片上的相應(yīng)引腳。模塊上帶有上電復(fù)位電路,也可通過(guò)RESET插孔進(jìn)行手動(dòng)復(fù)位,只需在RESET上加上負(fù)脈沖。 模塊上提供兩個(gè)RJ45接口和一組“CANH、CANL”插孔接口,這三組接口是完全一致的。對(duì)于近距離CAN模塊之間的通訊,可將各模塊的“CANH、CANL”插孔用導(dǎo)線連接;對(duì)于遠(yuǎn)距離CAN模塊之間的通訊,則可用雙絞線連接各RJ45接口。 每個(gè)CAN模塊上都有一組終端電阻接口,即“A、B”插孔。當(dāng)總線上只有兩個(gè)CAN節(jié)點(diǎn)時(shí),終端電阻可不接。如總線上的CAN節(jié)點(diǎn)數(shù)為3個(gè)或3個(gè)以上時(shí),必須有一個(gè)而且只能有一個(gè)CAN模塊接上終端電阻。具體接法為:將A插孔和CANL插孔、B插孔和CANH插孔分
34、別用導(dǎo)線連接。 3.4 CAN電路接線 兩個(gè)CAN模塊分別接在兩個(gè)實(shí)驗(yàn)臺(tái)上,第一個(gè)模塊(發(fā)送)跳線接LCS2,第二個(gè)模塊(接收)跳線接LCS3,用雙絞線連接兩個(gè)模塊的RJ45接口,將第一個(gè)CAN模塊接上終端電阻。 3.5 CAN總線控制器SJA1000 SJA1000是一種獨(dú)立的CAN控制器,主要用于移動(dòng)目標(biāo)和一般工業(yè)環(huán)境中的區(qū)域網(wǎng)絡(luò)控制。它是Philips半導(dǎo)體公司PCA82C200 CAN控制器(BasicCAN)的替代產(chǎn)品,增加了一種新的操作模式——PeliCAN,這種模式支持具有很多新特性的CAN2.0B協(xié)議。 3.6 CAN控制器接口PCA82C250 PCA82C250
35、是CAN協(xié)議控制器和物理總線間的接口,它主要是為汽車中高速通訊(高達(dá)1Mbps)應(yīng)用而設(shè)計(jì)。此器件對(duì)總線提供差動(dòng)發(fā)送能力,對(duì)CAN控制器提供差動(dòng)接收能力,與ISO11898標(biāo)準(zhǔn)完全兼容。PCA82C250芯片由接收器、驅(qū)動(dòng)器、基準(zhǔn)電壓產(chǎn)生電路、工作模式選擇電路及保護(hù)電路等組成。PCA82C250內(nèi)部的限流電路可以防止發(fā)送輸出級(jí)對(duì)電池電壓的正端和負(fù)端短路。雖然在這種故障條件出現(xiàn)時(shí),功耗將增加,但這種特性可以阻止發(fā)送器輸出級(jí)的破壞。在節(jié)點(diǎn)溫度大約超過(guò)160℃時(shí),兩個(gè)發(fā)送器輸出端的極限電流將減少。由于發(fā)送器是功耗的主要部分,因此芯片溫度會(huì)迅速降低。PCA82C50芯片的其他部分將繼續(xù)工作。當(dāng)總線短路
36、時(shí),熱保護(hù)十分重要。CANH和CANL兩條線也可以防止在汽車環(huán)境下可能發(fā)生的電氣瞬變現(xiàn)象。 4系統(tǒng)軟件設(shè)計(jì) 4.1程序流程圖 4.1.1 主程序流程圖 程序開始運(yùn)行后,先調(diào)用初始化子程序,分別對(duì)兩個(gè)CAN模塊中的SJA1000進(jìn)行初始化,然后把要發(fā)送的數(shù)據(jù)寫入CPU的存儲(chǔ)器中,然后循環(huán)調(diào)用發(fā)送數(shù)據(jù)子程序和接收數(shù)據(jù)子程序。具體流程如圖3-1所示。 4.1.2 初始化子程序流程圖 初始化子程序先設(shè)置MOD選擇復(fù)位模式,然后分別設(shè)置CDR選擇工作模式;設(shè)置IER選擇中斷類型;設(shè)置BTR0、BTR1設(shè)定傳輸速率;設(shè)置OCR選擇輸出模式;設(shè)置ACR、AMR設(shè)定接收數(shù)據(jù)類型;RBSA、
37、TXERR、ECC均清零,最后設(shè)置MOD進(jìn)入工作模式。具體流程如圖3-2所示。 4.1.3 發(fā)送數(shù)據(jù)子程序流程圖 發(fā)送數(shù)據(jù)子程序先把三個(gè)控制字節(jié)寫入發(fā)送緩沖區(qū),然后把等待發(fā)送的數(shù)據(jù)也寫入發(fā)送緩沖區(qū),最后設(shè)置CMR,發(fā)出發(fā)送請(qǐng)求、啟動(dòng)SJA1000發(fā)送數(shù)據(jù)。具體流程如圖3-3所示。 4.1.4 接收數(shù)據(jù)子程序流程圖 接收數(shù)據(jù)子程序首先要讀SR和IR,判斷工作狀態(tài)及中斷類型并做相應(yīng)處理,若RXFIFO有數(shù)據(jù),應(yīng)判斷幀類型并做相應(yīng)處理,若數(shù)據(jù)正確則送至CPU的內(nèi)部存儲(chǔ)器。具體流程如圖3-4所示。 4.2 軟件實(shí)現(xiàn)過(guò)程 兩個(gè)實(shí)驗(yàn)臺(tái)運(yùn)行程序CAN.ASM(程序見附錄),發(fā)送實(shí)驗(yàn)臺(tái)全速
38、運(yùn)行程序,接收實(shí)驗(yàn)臺(tái)要在主程序中調(diào)用接收數(shù)據(jù)子程序后設(shè)置斷點(diǎn),等待接收到數(shù)據(jù)后送至CPU的存儲(chǔ)器,然后查看CPU的內(nèi)部存儲(chǔ)器30H~37H中的數(shù)據(jù)與程序中發(fā)送的數(shù)據(jù)是否一致。
4.2核心源程序
#include "STC_NEW_8051.H"
#include
39、_usart(9600); while(1) { rxd_deal(); txd_deal(); //將接收到的數(shù)據(jù)除以4在紅綠燈上顯示 if((Rxd_data % 4)==0) { LED_blue = 0; LED_red = 0; } if((Rxd_data % 4)==1) { LED_blue = 0; LED_red = 1; } if((Rxd_data % 4)==2) { LED_blue = 1; LED_red = 0; } if((Rxd_data % 4)=
40、=3) { LED_blue = 1; LED_red = 1; } } } void init_mcu(void) { LED_red = 1; LED_blue = 1; LED_3 = 1; LED_4 = 1; LED_5 = 1; LED_6 = 1; SJA_RST = 0; //CAN總線復(fù)位管腳復(fù)位有效 SJA_RST = 1; //CAN總線復(fù)位管腳復(fù)位無(wú)效 SJA_CS = 0; //CAN總線片選有效 EX1 = 1; //開MCU外部中斷INT1 IT1 = 1; //MCU外部中斷INT1設(shè)置
41、為下降沿觸發(fā) IT0 = 0; //MCU外部中斷INT0設(shè)置為電平觸發(fā),該中斷口連接CAN總線接收中斷口 EX0 = 1; //開MCU外部中斷INT0 EA = 1; //開MCU總中斷 // SJA_CS = 1; //CAN總線片選無(wú)效,使得對(duì)數(shù)據(jù)總線的操作不會(huì)影響SJA1000。 } void init_sja1000(void) { uchar state; uchar ACRR[4]; uchar AMRR[4]; // 接收代碼寄存器 ACRR[0] = 0x11; ACRR[1] = 0x22; ACRR[2] = 0x33; ACRR[
42、3] = 0x44; // 接收屏蔽寄存器,只接收主機(jī)發(fā)送的信息 AMRR[0] = 0xff; AMRR[1] = 0Xff; AMRR[2] = 0xff; AMRR[3] = 0xff; // 使用do--while語(yǔ)句確保進(jìn)入復(fù)位模式 do { MODR = 0x01; // 設(shè)置MOD.0=1--進(jìn)入復(fù)位模式,以便設(shè)置相應(yīng)寄存器 state = MODR; } while( !(state & 0x01) ); // 對(duì)SJA1000部分寄存器進(jìn)行初始化設(shè)置 CDR = 0x88; // CDR為時(shí)鐘分頻器,CDR.3=1--時(shí)鐘關(guān)閉, CDR
43、.7=0---basic CAN, CDR.7=1---Peli CAN BTR0 = 0x00; // 總線定時(shí)寄存器0 ;總線波特率設(shè)定 BTR1 = 0x1c; // 總線定時(shí)寄存器1 ;總線波特率設(shè)定 IER = 0x01; // IER.0=1--接收中斷使能; IER.1=0--關(guān)閉發(fā)送中斷使能 OCR = 0xaa; // 配置輸出控制寄存器 CMR = 0x04; // 釋放接收緩沖器 // 初始化接收代碼寄存器 ACR0 = ACRR[0]; ACR1 = ACRR[1]; ACR2 = ACRR[2]; ACR3 = ACRR[3]; //
44、初始化接收屏蔽寄存器 AMR0 = AMRR[0]; AMR1 = AMRR[1]; AMR2 = AMRR[2]; AMR3 = AMRR[3]; // 使用do--while語(yǔ)句確保進(jìn)入自接收模式 do { MODR = 0x04; //MOD.2=1--進(jìn)入自接收模式,MOD.3=0--雙濾波器模式 state = MODR; } while( !(state & 0x04) ); } void rxd_deal(void) { if( RXD_flag ) //RXD_flag=0說(shuō)明無(wú)數(shù)據(jù)可以接收, //RXD_flag=1說(shuō)明有數(shù)據(jù)可以接收
45、 { EA = 0; //關(guān)閉CPU中斷 RXD_flag = 0; //RXD_flag清零,以便下次查詢 Rxd_data = RX_buffer[5]; //CAN總線要接收的數(shù)據(jù),也是要在數(shù)碼管3-4位置顯示的數(shù)據(jù) EA = 1; //重新開啟CPU中斷 } } void txd_deal(void) { if( TXD_flag == 1 ) //若TXD_flag=1,要求進(jìn)行數(shù)據(jù)的發(fā)送處理 { TXD_flag = 0; //RXD_flag清零,以便下次查詢 can_txd(); //發(fā)送數(shù)據(jù)幀 } //發(fā)送數(shù)據(jù)幀后,SJA1000將產(chǎn)生接收中斷
46、 } void can_txd(void) { uchar state; uchar TX_buffer[ N_can ] ; //N_can=13,TX_buffer數(shù)組為待傳送的數(shù)據(jù)幀 //初始化標(biāo)示碼頭信息 TX_buffer[0] = 0x88;//.7=0--擴(kuò)展幀;.6=0--數(shù)據(jù)幀; .0-.3=100--數(shù)據(jù)長(zhǎng)度為8字節(jié) TX_buffer[1] = 0xaa;//本節(jié)點(diǎn)地址 TX_buffer[2] = 0xbb; TX_buffer[3] = 0xcc; TX_buffer[4] = 0xdd; //初始化發(fā)送數(shù)據(jù)單元 TX_buffer[5
47、] = Txd_data;//發(fā)送的第1個(gè)字節(jié)數(shù)據(jù),也是數(shù)碼管要顯示的數(shù)據(jù)(計(jì)數(shù)結(jié)果) TX_buffer[6] = 15; //2 TX_buffer[7] = 16; //3 TX_buffer[8] = 17; //4 TX_buffer[9] = 18; //5 TX_buffer[10] = 19; //6 TX_buffer[11] = 20; //7 TX_buffer[12] = 21; //8 //初始化數(shù)據(jù)信息 EA = 0; //關(guān)中斷 //查詢SJA1000是否處于接收狀態(tài),當(dāng)SJA1000不處于接收狀態(tài)時(shí)才可繼續(xù)執(zhí)行 do { s
48、tate = SR; //SR為SJA的狀態(tài)寄存器 } while( state & 0x10 ); //SR.4=1 正在接收,等待 //查詢SJA1000是否處于發(fā)送完畢狀態(tài) do { state = SR; } while(!(state & 0x08)); //SR.3=0,發(fā)送請(qǐng)求未處理完,等待直到SR.3=1 //查詢發(fā)送緩沖器狀態(tài) do { state = SR; } while(!(state & 0x04)); //SR.2=0,發(fā)送緩沖器被鎖。等待直到SR.2=1 //將待發(fā)送的一幀數(shù)據(jù)信息存入SJA1000的相應(yīng)寄存器中 TBSR0
49、 = TX_buffer[0]; TBSR1 = TX_buffer[1]; TBSR2 = TX_buffer[2]; TBSR3 = TX_buffer[3]; TBSR4 = TX_buffer[4]; TBSR5 = TX_buffer[5]; TBSR6 = TX_buffer[6]; TBSR7 = TX_buffer[7]; TBSR8 = TX_buffer[8]; TBSR9 = TX_buffer[9]; TBSR10 = TX_buffer[10]; TBSR11 = TX_buffer[11]; TBSR12 = TX_buffer[12];
50、 CMR = 0x10; //置位自發(fā)送接收請(qǐng)求 EA = 1; //重新開啟中斷 } void inter0_key(void) interrupt 2 using 0 { EA = 0; //關(guān)閉中斷 Txd_data++; //計(jì)數(shù)結(jié)果增1,即待發(fā)送的數(shù)據(jù)增1 If(Txd_data==255) Txd_data=0; TXD_flag = 1; //發(fā)送數(shù)據(jù)標(biāo)志位置位,即重新發(fā)送數(shù)據(jù)以更新數(shù)碼管的顯示數(shù)值 EA = 1; //重新開啟中斷 } void inter1_can_rxd( void ) interrupt 0 using 2 {
51、 uchar state,tem; EA = 0; //關(guān)CPU中斷 IE1 = 0; //由于是中斷INT1是電平觸發(fā)方式,所以需要軟件將INT1的中斷請(qǐng)求標(biāo)志IE0清零 state = IR; //IR為SJA1000的中斷寄存器 if( state & 0x01) //若IR.0=1--接收中斷 { //接收數(shù)據(jù)幀 RX_buffer[0] = RBSR; RX_buffer[1] = RBSR1; RX_buffer[2] = RBSR2; RX_buffer[3] = RBSR3; RX_buffer[4] = RBSR4; RX_buff
52、er[5] = RBSR5; RX_buffer[6] = RBSR6; RX_buffer[7] = RBSR7; RX_buffer[8] = RBSR8; RX_buffer[9] = RBSR9; RX_buffer[10] = RBSR10; RX_buffer[11] = RBSR11; RX_buffer[12] = RBSR12; for(tem = 0;tem < 13;tem++) { Usart_putchar(RX_buffer[tem]); } RXD_flag = 1; /
53、/接收標(biāo)志置位,以便進(jìn)入接收處理程序 CMR = 0X04; //CMR.2=1--接收完畢,釋放接收緩沖器 state = ALC; //釋放仲裁隨時(shí)捕捉寄存器(讀該寄存器即可) state = ECC; //釋放錯(cuò)誤代碼捕捉寄存器(讀該寄存器即可) } IER = 0x01; // IER.0=1--接收中斷使能 EA = 1; //重新開啟CPU中斷 5系統(tǒng)調(diào)試 一個(gè)完整的系統(tǒng)一般需要對(duì)各個(gè)模塊的功能進(jìn)行相應(yīng)的硬件和軟件調(diào)試,常用的方法是將軟件和硬件結(jié)合起來(lái)進(jìn)行調(diào)試,在無(wú)實(shí)際的硬件平臺(tái)下可
54、以通過(guò)相應(yīng)的仿真軟件搭建一個(gè)虛擬的平臺(tái),然后對(duì)硬件和軟件進(jìn)行綜合調(diào)試。 5.1 PC機(jī)與下位機(jī)的通訊調(diào)試 首先搭建單片機(jī)的最小系統(tǒng),將單片機(jī)與PC機(jī)通過(guò)串口進(jìn)行連接,用單片機(jī)開發(fā)編程軟件Keil uVision3編寫單片機(jī)程序,編寫完成后在搭建的最小系統(tǒng)中進(jìn)行硬件調(diào)試,利用單片機(jī)的串口和串口調(diào)試助手軟件,在PC機(jī)上打印相應(yīng)的數(shù)據(jù)和調(diào)試信息,觀察數(shù)據(jù)和調(diào)試信息是否正確,在調(diào)試過(guò)程中注意在程序的關(guān)鍵處加入相應(yīng)的調(diào)試信息,以供查詢程序是否運(yùn)行正常,如果程序運(yùn)行不正確,結(jié)合硬件,檢查硬件是否連接正確,傳感器的時(shí)序否滿足要求等,不斷調(diào)試查出發(fā)現(xiàn)的問(wèn)題,并不斷地改進(jìn),PC機(jī)與下位機(jī)通訊成功。 5.2
55、 CAN總線調(diào)試 CAN總線的調(diào)試稍微比較難,首先將CAN總線與單片機(jī)相連接,參考SJA1000的技術(shù)文檔,編寫CAN通訊的程序,編寫完初步的CAN收發(fā)程序后,將SJA1000設(shè)置為字收發(fā)模式,然后將程序下載到單片機(jī)內(nèi)運(yùn)行,通過(guò)串口調(diào)試助手,查看程序運(yùn)行的過(guò)程是否正確,以判斷SJA1000是否通訊成功,如果自收發(fā)模式通訊不成功,則更具打印信息查看程序出錯(cuò)的地方,以便進(jìn)行修改,直到將自收發(fā)模式調(diào)試成功,調(diào)試成功后將自收發(fā)模式切換為正常通訊模式,查看是否能夠正常通訊,一般自收發(fā)模式能夠成功通訊則正常通訊模式也能夠正常通訊。 5.3 單片機(jī)最小系統(tǒng)電路的調(diào)試 為確保電路焊接無(wú)誤后,接通5V電源
56、,用數(shù)字萬(wàn)用表直流電壓20V檔測(cè)量單片機(jī)以下管腳的電壓。 40腳(VCC):4.98V 31腳(/EA/VPP):4.98V 20腳(VSS):0V 19腳(XTAL1):2.09V 18腳(XTAL2):2.27V 9腳(RST/VPD):0.01V 通過(guò)以上數(shù)據(jù)可以判斷出單片機(jī)正常工作。 5.4 綜合調(diào)試 綜合調(diào)試所涉及的功能部分是很多的,但只要每一部分功能的單獨(dú)調(diào)試是很成功的,在綜合調(diào)試時(shí)就不會(huì)很復(fù)雜了。在綜合調(diào)試時(shí),我們會(huì)遇到了很多的問(wèn)題,如CAN總線通訊不成功,CAN驅(qū)動(dòng)程序不能有效控制SJA1000,上位機(jī)與下位機(jī)通訊不正常等,但經(jīng)過(guò)仔細(xì)的分析和細(xì)心的檢查,
57、并一步步發(fā)現(xiàn)了問(wèn)題的所在,在調(diào)試的過(guò)程中,調(diào)試方法特別的重要,通過(guò)不同方式進(jìn)行調(diào)試,最終找到問(wèn)題的癥結(jié)所在,這樣的調(diào)試方法讓我們順利地完成了這次設(shè)計(jì)。 5.5 最終實(shí)現(xiàn)效果 經(jīng)過(guò)綜合調(diào)試,本設(shè)計(jì)的系統(tǒng)基本能達(dá)到設(shè)計(jì)的預(yù)期要求,能實(shí)現(xiàn)CAN總線的穩(wěn)定通訊,主控制器的控制界面友好,操作方便、靈活。 5.6 測(cè)試儀器 示波器:YB4324 萬(wàn)用表:DT9205 電感表:DT6243 函數(shù)信號(hào)發(fā)生器:DF1641B1 6結(jié)果分析及心得體會(huì) 6.1 結(jié)果分析 本試驗(yàn)通過(guò)擴(kuò)展CAN總線控制器,在單片機(jī)系統(tǒng)中實(shí)現(xiàn)了CAN總線的接口,通過(guò)CAN總線,實(shí)現(xiàn)了兩個(gè)模塊之間的數(shù)據(jù)通訊,在
58、第一個(gè)模塊中發(fā)送1幀數(shù)據(jù),在第二個(gè)模塊中收到這幀數(shù)據(jù)并送至了CPU的內(nèi)部存儲(chǔ)器30H~37H。 如果要修改發(fā)送數(shù)據(jù),只需修改程序中“TXDATA”后8個(gè)字節(jié)的數(shù)據(jù)即可。 6.2 心得體會(huì) 通過(guò)本次設(shè)計(jì)對(duì)CAN總線的工作原理及其與CPU的接口方式有了一定程度的理解?;贑AN總線可實(shí)現(xiàn)多種數(shù)據(jù)的傳輸,例如:可將文字、圖像等進(jìn)行編碼后傳輸,并在接收端進(jìn)行解碼后恢復(fù),由于時(shí)間有限未做深入研究。 開發(fā)CAN總線控制節(jié)點(diǎn)時(shí),還可以使用集成了CAN控制器的CPU 80C592,但支持80C592的開發(fā)工具少,給開發(fā)工作帶來(lái)一定的難度。所以一般使用獨(dú)立的CAN 控制器SJA1000配合單片機(jī)進(jìn)行開發(fā)
59、。 6.2.1 CAN應(yīng)用中的問(wèn)題 SJA1000有BasicCAN和PeliCAN兩種工作模式,SJAl000上電復(fù)位后自動(dòng)進(jìn)入BasicCAN,因此選用PeliCAN模式必須在程序中設(shè)置時(shí)鐘分頻寄存器(CDR)選擇工作模式。 總線定時(shí)寄存器的設(shè)置極大影響了CAN性能的發(fā)揮。一般來(lái)說(shuō),若硬件連接無(wú)誤,通信失敗的主要原因在于總線定時(shí)寄存器設(shè)置不當(dāng)。在實(shí)驗(yàn)中,曾出現(xiàn)過(guò)因SJA1000的時(shí)鐘電路中晶振嚴(yán)重漂移導(dǎo)致通信失敗的情況。 ACR和AMR兩個(gè)寄存器構(gòu)成硬件過(guò)濾,CAN節(jié)點(diǎn)通過(guò)它來(lái)決定是否接收總線上的數(shù)據(jù),是否置CAN的接收中斷,這極大地提高了系統(tǒng)的靈活性。 可以通過(guò)中斷寄存器(I
60、R)、狀態(tài)寄存器(SR)查詢CAN總線的工作狀態(tài),了解數(shù)據(jù)傳輸狀況。為了保證數(shù)據(jù)的正常收發(fā),需要對(duì)狀態(tài)寄存器和中斷寄存器各狀態(tài)位的變化做出相應(yīng)處理。 6.2.2 CAN總線的其他應(yīng)用 CAN(Controller Area Network)總線最早由德國(guó)BOSCH公司提出,主要用于汽車內(nèi)部測(cè)量與控制中心之間的數(shù)據(jù)通信。由于其良好的性能,在世界范圍內(nèi)廣泛應(yīng)用于其他領(lǐng)域當(dāng)中,如工業(yè)自動(dòng)化、汽車電子、樓宇建筑、電梯網(wǎng)絡(luò)、電力通訊和安防消防等諸多領(lǐng)域,并逐漸成為這些行業(yè)的主要通訊手段。 一個(gè)由CAN總線構(gòu)成的單一網(wǎng)絡(luò)中,可以掛接多個(gè)節(jié)點(diǎn),實(shí)際應(yīng)用中只需要設(shè)置幾個(gè)節(jié)點(diǎn)為上位節(jié)點(diǎn)與PC機(jī)進(jìn)行通信,其
61、他節(jié)點(diǎn)則可以做其他用途。如用于數(shù)據(jù)的采集,則與A/D轉(zhuǎn)換芯片相接即可;如與控制相關(guān),則與控制口相接即可,這樣一來(lái)可以靈活地構(gòu)成各種系統(tǒng)。 CAN總線具有多方面的優(yōu)勢(shì),可以組建一個(gè)具有高可靠性、遠(yuǎn)距離、多節(jié)點(diǎn)、多主方式的設(shè)備通訊網(wǎng)絡(luò),例如:我國(guó)許多煤礦中都采用基于CAN-BUS網(wǎng)絡(luò)的煤礦通訊網(wǎng)絡(luò)。 7 參考文獻(xiàn) [1] 李全利,遲榮強(qiáng).單片機(jī)原理及接口技術(shù).北京:高等教育出版社,2004 [2] 謝自美:電子線路設(shè)計(jì)·實(shí)驗(yàn)·測(cè)試 華中理工大學(xué)出版社. 2000.7 [3] 張毅剛:MCS-51單片機(jī)應(yīng)用設(shè)計(jì) 哈爾濱工業(yè)大學(xué)出版社. 2003.7 [4] 胡偉:?jiǎn)纹瑱C(jī)C程序設(shè)計(jì)及
62、應(yīng)用實(shí)例. 人民郵電出版社. 4003.7 [5] 譚浩強(qiáng):C程序設(shè)計(jì)(第三版) 北京-清華大學(xué)出版社 2005.07 [6] 氣象儀器與觀測(cè)方法指南, WMO手冊(cè)中文版,第六版 [7] Present Weather Science, PWS-SCI Exploratory actions on automatic present weather observations. [8] 我國(guó)自動(dòng)氣象站建設(shè)發(fā)展迅速,光明日?qǐng)?bào), [9] 李麟,李效東,漫談分布式自動(dòng)氣象站,中國(guó)氣象學(xué)會(huì)2006年年會(huì)論文集 [10] 岳立成,利用RS-485總線實(shí)現(xiàn)氣象要素分布時(shí)自動(dòng)采集,氣象水文海洋儀器, No.3/32005 [11] 岳立成,總線制分布式氣象要素采集系統(tǒng)初探,吉林氣象2006年第2期 [12] 廣州周立功單片機(jī)發(fā)展有限公司. SJA1000獨(dú)立CAN控制器應(yīng)用指南 附錄:系統(tǒng)設(shè)計(jì)原理圖 1.系統(tǒng)電路圖 2. 電路PCB圖
- 溫馨提示:
1: 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 離心泵的檢修各零部件檢修標(biāo)準(zhǔn)
- 金屬材料疲勞強(qiáng)度的八大主要影響因素
- 機(jī)械安全知識(shí)
- 電機(jī)的工作原理與種類
- 設(shè)備點(diǎn)檢內(nèi)容
- 有效防止液壓系統(tǒng)漏油的技術(shù)要領(lǐng)
- 鈑金和管工機(jī)械安全操作規(guī)程
- 閥門的100個(gè)專業(yè)術(shù)語(yǔ)
- 某單位機(jī)械設(shè)備安全檢查表
- 離心泵的汽蝕與吸入特性
- 過(guò)濾網(wǎng)目數(shù)標(biāo)準(zhǔn)
- 減少設(shè)備潤(rùn)滑故障的措施
- 離心泵機(jī)械密封安裝使用規(guī)則
- 閥門常見故障與原因
- 呼吸閥和真空破壞閥基礎(chǔ)知識(shí)總結(jié)
相關(guān)資源
更多