基于CAN 控制器SJA1000的智能高速控制系統(tǒng)設(shè)計(jì)
發(fā)布時(shí)間:2007/8/23 0:00:00 訪問次數(shù):479
摘要:本文介紹了一種新型的現(xiàn)場總線控制器SJA1000的基本原理結(jié)構(gòu)及功能特點(diǎn),重點(diǎn)敘述了基于CAN控制器SJA1000的智能控制系統(tǒng)硬件電路及軟件設(shè)計(jì),給出了初始化程序。 關(guān)鍵詞:CAN總線、SJA1000、智能控制、系統(tǒng)設(shè)計(jì)SJA1000的特點(diǎn)及功能
SJA1000是一種應(yīng)用于汽車和一般工業(yè)環(huán)境的獨(dú)立CAN總線控制器,經(jīng)過簡單總線連接可完成CAN總線的物理層和數(shù)據(jù)鏈路層的所有功能。其硬件與軟件設(shè)計(jì)和PCA82C200的基本CAN模式BasicCAN兼容。同時(shí),新增加的增強(qiáng)CAN模式PeliCAN還可支持CAN2.0B協(xié)議。SJA1000的主要特性如下:1、管腳及電氣特性與獨(dú)立CAN總線控制器PCA82C200兼容;2、軟件與PCA82C200兼容(缺省為基本CAN模式);3、擴(kuò)展接收緩沖器(64字節(jié)FIFO);4、支持CAN2.0B時(shí)支持11和29位標(biāo)識(shí)符;5、位通訊速率為1Mbits/s;6、增強(qiáng)CAN模式(PeliCAN);7、采用24MHz時(shí)鐘頻率;8、支持多種微處理器接口;9、可編程CAN輸出驅(qū)動(dòng)配置;10、工作溫度范圍為-40~+125℃。
CAN控制模塊構(gòu)成
CAN控制模塊由接口管理邏輯、發(fā)送緩沖器、接收緩沖器(RXFIFO)、接收過濾器、位流處理器 (BSP)、位時(shí)序邏輯 (BTL)和錯(cuò)誤管理邏輯(EML)組成。(如圖1)
新增功能
PeliCAN模式,將識(shí)別碼從11位擴(kuò)展到29位,使CAN總線的節(jié)點(diǎn)數(shù)大大地?cái)U(kuò)大,從而使得CAN總線的適用范圍更加廣泛。除了擴(kuò)展了識(shí)別碼,PeliCAN模式還有以下擴(kuò)展功能:1、可讀/寫訪問的錯(cuò)誤計(jì)數(shù)器;2、可編程的錯(cuò)誤計(jì)數(shù)器;3、最近一次錯(cuò)誤代碼寄存器;4、對(duì)每一個(gè)CAN總線錯(cuò)誤的中斷;5、具體控制為控制的仲裁丟失中斷;6、單次發(fā)送 (無重發(fā));7、只聽模式 (無確認(rèn),無活動(dòng)的出錯(cuò)標(biāo)志);8、支持熱插拔 (軟件位速率檢測);9、接收過濾器擴(kuò)展 (4字節(jié)代碼,4字節(jié)屏蔽);10、自身信息接收 (自接收請(qǐng)求)。以上擴(kuò)展功能為用戶更好地識(shí)別和處理發(fā)送和接收錯(cuò)誤、更好地應(yīng)用和調(diào)試CAN控制器提供了方便。
智能控制系統(tǒng)硬件電路設(shè)計(jì)
根據(jù)SJA1000的功能特點(diǎn)以及課題的實(shí)際需要,我們選用SJA1000作為CAN控制器,并且使用了CAN控制器接口芯片PCA82C250,PCA82C250是CAN協(xié)議控制器和物理總線之間的接口。此器件對(duì)總線提供差動(dòng)發(fā)送能力,對(duì)CAN控制器提供差動(dòng)接收能力。整個(gè)系統(tǒng)以Intel 16位單片機(jī)80C196KC為核心。INTEL 80C196KC采用68腳PLCC封裝形式,內(nèi)部尋址采用寄存器結(jié)構(gòu),從而避免了以往8位單片機(jī)只能用累加器參與尋址而產(chǎn)生的瓶頸效應(yīng),大大提高了工作效率。其內(nèi)部設(shè)有256個(gè)字節(jié)的RAM,帶有28個(gè)中斷源,可形成16個(gè)中斷矢量。在16MHz的晶振下,16乘16位的乘法只需1.75ms,32除16位除法指令只需3.2ms,尤其適合于高采樣頻率快速控制系統(tǒng),它本身還帶有3路PWM輸出引腳,可直接驅(qū)動(dòng)三相電動(dòng)機(jī),內(nèi)部設(shè)有3個(gè)H窗口和1個(gè)V窗口,使特殊功能寄存器的數(shù)量和保護(hù)功能倍增。由于采用的是CMOS工藝,其功耗小,并有掉電保護(hù)和閑置功能。因此,采用INTEL公司生產(chǎn)的16位單片機(jī)80C196KC機(jī)作為控制系統(tǒng)的主控制器是十分理想的選擇。SJA1000在智能控制系統(tǒng)中的硬件配置與CAN總線接口的電路如圖1所示。硬件電路中使用 PCA82C250的目的是為了增大通信距離,提高系統(tǒng)的瞬間抗干擾能力,保護(hù)總線,降低射頻干擾,實(shí)現(xiàn)熱防護(hù)等。
SJA1000在電路中是一個(gè)總線接口芯片,實(shí)現(xiàn)從上位機(jī)PC-CAN接口到現(xiàn)場微處理器之間的數(shù)據(jù)通信。對(duì)于微處理器而言,SJA1000是一個(gè)總線接口,SJA1000片內(nèi)的存儲(chǔ)單元相對(duì)80C196KC來說是片外的數(shù)據(jù)存儲(chǔ)器,因此,可以按照擴(kuò)展片外數(shù)據(jù)存儲(chǔ)器的形式來訪問SJA1000的寄存器地址。80C196KC是CAN控制器的微處理器,把80C196KC的ALE、RD、WR和 SJA1000的ALE、RD、WR相連就構(gòu)成一個(gè)最小系統(tǒng)節(jié)點(diǎn)。80C196KC通過地址總線經(jīng)GAL譯碼來選通 SJA1000,并由此決定CAN控制器各寄存器的地址,通過讀、寫外部數(shù)據(jù)存儲(chǔ)器的形式來訪問 SJA1000。在系統(tǒng)中我們將SJA1000的TX1腳懸空,RX1引腳接地,形成CAN協(xié)議所要求的電平邏輯。該電路的主要功能就是通過CAN總線接收來自上位機(jī)的數(shù)據(jù)進(jìn)行分析組態(tài),然后下傳給下位機(jī)的控制電路實(shí)現(xiàn)控制功能,當(dāng)智能控制系統(tǒng)接收到下位機(jī)的上傳數(shù)據(jù),SJA1000的中斷輸出INT腳就會(huì)被激活,出現(xiàn)一個(gè)由高電平到低電平的躍變,產(chǎn)生一個(gè)中斷,從而引發(fā)微處理器80C196KC產(chǎn)生中斷,通過中斷處理程序接收每一幀信息并通過CAN總線上傳給上位機(jī)進(jìn)行分析,以便及時(shí)糾正誤碼、錯(cuò)碼。
在進(jìn)行電路設(shè)計(jì)時(shí)應(yīng)當(dāng)注意:為進(jìn)一步提高系統(tǒng)抗干擾能力,在CAN控制器SJA1000和CAN控制器接口82C250之間加接6N137光電隔離芯片,并采用DC-DC變換器隔離電源;通信信號(hào)傳輸?shù)綄?dǎo)線的端點(diǎn)時(shí)會(huì)發(fā)生反射,反射信號(hào)會(huì)干擾正常信號(hào)的傳輸,因而總線兩端兩個(gè)124W的電阻對(duì)匹配總線阻抗起著相當(dāng)重要的作用,忽略掉它們,會(huì)使數(shù)據(jù)通信的抗干擾性和可靠性大大降低,甚至無法通信;82C250第8腳與地之間的電阻RS稱為斜率電阻,它的取值決定了系統(tǒng)處于高速工作方式還是斜率控制方式。把該引腳直接與地相連,系統(tǒng)將處于高速工作方式。在這種方式下,為避免射
摘要:本文介紹了一種新型的現(xiàn)場總線控制器SJA1000的基本原理結(jié)構(gòu)及功能特點(diǎn),重點(diǎn)敘述了基于CAN控制器SJA1000的智能控制系統(tǒng)硬件電路及軟件設(shè)計(jì),給出了初始化程序。 關(guān)鍵詞:CAN總線、SJA1000、智能控制、系統(tǒng)設(shè)計(jì)SJA1000的特點(diǎn)及功能
SJA1000是一種應(yīng)用于汽車和一般工業(yè)環(huán)境的獨(dú)立CAN總線控制器,經(jīng)過簡單總線連接可完成CAN總線的物理層和數(shù)據(jù)鏈路層的所有功能。其硬件與軟件設(shè)計(jì)和PCA82C200的基本CAN模式BasicCAN兼容。同時(shí),新增加的增強(qiáng)CAN模式PeliCAN還可支持CAN2.0B協(xié)議。SJA1000的主要特性如下:1、管腳及電氣特性與獨(dú)立CAN總線控制器PCA82C200兼容;2、軟件與PCA82C200兼容(缺省為基本CAN模式);3、擴(kuò)展接收緩沖器(64字節(jié)FIFO);4、支持CAN2.0B時(shí)支持11和29位標(biāo)識(shí)符;5、位通訊速率為1Mbits/s;6、增強(qiáng)CAN模式(PeliCAN);7、采用24MHz時(shí)鐘頻率;8、支持多種微處理器接口;9、可編程CAN輸出驅(qū)動(dòng)配置;10、工作溫度范圍為-40~+125℃。
CAN控制模塊構(gòu)成
CAN控制模塊由接口管理邏輯、發(fā)送緩沖器、接收緩沖器(RXFIFO)、接收過濾器、位流處理器 (BSP)、位時(shí)序邏輯 (BTL)和錯(cuò)誤管理邏輯(EML)組成。(如圖1)
新增功能
PeliCAN模式,將識(shí)別碼從11位擴(kuò)展到29位,使CAN總線的節(jié)點(diǎn)數(shù)大大地?cái)U(kuò)大,從而使得CAN總線的適用范圍更加廣泛。除了擴(kuò)展了識(shí)別碼,PeliCAN模式還有以下擴(kuò)展功能:1、可讀/寫訪問的錯(cuò)誤計(jì)數(shù)器;2、可編程的錯(cuò)誤計(jì)數(shù)器;3、最近一次錯(cuò)誤代碼寄存器;4、對(duì)每一個(gè)CAN總線錯(cuò)誤的中斷;5、具體控制為控制的仲裁丟失中斷;6、單次發(fā)送 (無重發(fā));7、只聽模式 (無確認(rèn),無活動(dòng)的出錯(cuò)標(biāo)志);8、支持熱插拔 (軟件位速率檢測);9、接收過濾器擴(kuò)展 (4字節(jié)代碼,4字節(jié)屏蔽);10、自身信息接收 (自接收請(qǐng)求)。以上擴(kuò)展功能為用戶更好地識(shí)別和處理發(fā)送和接收錯(cuò)誤、更好地應(yīng)用和調(diào)試CAN控制器提供了方便。
智能控制系統(tǒng)硬件電路設(shè)計(jì)
根據(jù)SJA1000的功能特點(diǎn)以及課題的實(shí)際需要,我們選用SJA1000作為CAN控制器,并且使用了CAN控制器接口芯片PCA82C250,PCA82C250是CAN協(xié)議控制器和物理總線之間的接口。此器件對(duì)總線提供差動(dòng)發(fā)送能力,對(duì)CAN控制器提供差動(dòng)接收能力。整個(gè)系統(tǒng)以Intel 16位單片機(jī)80C196KC為核心。INTEL 80C196KC采用68腳PLCC封裝形式,內(nèi)部尋址采用寄存器結(jié)構(gòu),從而避免了以往8位單片機(jī)只能用累加器參與尋址而產(chǎn)生的瓶頸效應(yīng),大大提高了工作效率。其內(nèi)部設(shè)有256個(gè)字節(jié)的RAM,帶有28個(gè)中斷源,可形成16個(gè)中斷矢量。在16MHz的晶振下,16乘16位的乘法只需1.75ms,32除16位除法指令只需3.2ms,尤其適合于高采樣頻率快速控制系統(tǒng),它本身還帶有3路PWM輸出引腳,可直接驅(qū)動(dòng)三相電動(dòng)機(jī),內(nèi)部設(shè)有3個(gè)H窗口和1個(gè)V窗口,使特殊功能寄存器的數(shù)量和保護(hù)功能倍增。由于采用的是CMOS工藝,其功耗小,并有掉電保護(hù)和閑置功能。因此,采用INTEL公司生產(chǎn)的16位單片機(jī)80C196KC機(jī)作為控制系統(tǒng)的主控制器是十分理想的選擇。SJA1000在智能控制系統(tǒng)中的硬件配置與CAN總線接口的電路如圖1所示。硬件電路中使用 PCA82C250的目的是為了增大通信距離,提高系統(tǒng)的瞬間抗干擾能力,保護(hù)總線,降低射頻干擾,實(shí)現(xiàn)熱防護(hù)等。
SJA1000在電路中是一個(gè)總線接口芯片,實(shí)現(xiàn)從上位機(jī)PC-CAN接口到現(xiàn)場微處理器之間的數(shù)據(jù)通信。對(duì)于微處理器而言,SJA1000是一個(gè)總線接口,SJA1000片內(nèi)的存儲(chǔ)單元相對(duì)80C196KC來說是片外的數(shù)據(jù)存儲(chǔ)器,因此,可以按照擴(kuò)展片外數(shù)據(jù)存儲(chǔ)器的形式來訪問SJA1000的寄存器地址。80C196KC是CAN控制器的微處理器,把80C196KC的ALE、RD、WR和 SJA1000的ALE、RD、WR相連就構(gòu)成一個(gè)最小系統(tǒng)節(jié)點(diǎn)。80C196KC通過地址總線經(jīng)GAL譯碼來選通 SJA1000,并由此決定CAN控制器各寄存器的地址,通過讀、寫外部數(shù)據(jù)存儲(chǔ)器的形式來訪問 SJA1000。在系統(tǒng)中我們將SJA1000的TX1腳懸空,RX1引腳接地,形成CAN協(xié)議所要求的電平邏輯。該電路的主要功能就是通過CAN總線接收來自上位機(jī)的數(shù)據(jù)進(jìn)行分析組態(tài),然后下傳給下位機(jī)的控制電路實(shí)現(xiàn)控制功能,當(dāng)智能控制系統(tǒng)接收到下位機(jī)的上傳數(shù)據(jù),SJA1000的中斷輸出INT腳就會(huì)被激活,出現(xiàn)一個(gè)由高電平到低電平的躍變,產(chǎn)生一個(gè)中斷,從而引發(fā)微處理器80C196KC產(chǎn)生中斷,通過中斷處理程序接收每一幀信息并通過CAN總線上傳給上位機(jī)進(jìn)行分析,以便及時(shí)糾正誤碼、錯(cuò)碼。
在進(jìn)行電路設(shè)計(jì)時(shí)應(yīng)當(dāng)注意:為進(jìn)一步提高系統(tǒng)抗干擾能力,在CAN控制器SJA1000和CAN控制器接口82C250之間加接6N137光電隔離芯片,并采用DC-DC變換器隔離電源;通信信號(hào)傳輸?shù)綄?dǎo)線的端點(diǎn)時(shí)會(huì)發(fā)生反射,反射信號(hào)會(huì)干擾正常信號(hào)的傳輸,因而總線兩端兩個(gè)124W的電阻對(duì)匹配總線阻抗起著相當(dāng)重要的作用,忽略掉它們,會(huì)使數(shù)據(jù)通信的抗干擾性和可靠性大大降低,甚至無法通信;82C250第8腳與地之間的電阻RS稱為斜率電阻,它的取值決定了系統(tǒng)處于高速工作方式還是斜率控制方式。把該引腳直接與地相連,系統(tǒng)將處于高速工作方式。在這種方式下,為避免射
熱門點(diǎn)擊
- 大容量串行E2PROM AT24C512及其
- 幀存儲(chǔ)器AL440B及其在視頻回放系統(tǒng)中的應(yīng)
- 距離保護(hù)特性元件躲過渡電阻能力分析與研究
- D/A轉(zhuǎn)換器輸出波形的尖峰消除方案
- 基于Verilog的SMBus總線控制器的設(shè)
- 智能顯示驅(qū)動(dòng)芯片ZLG7289A的設(shè)計(jì) In
- 帶硬件地址識(shí)別的UART IP 的設(shè)計(jì)和實(shí)現(xiàn)
- 單片機(jī)89C52并行I/O口實(shí)現(xiàn)多個(gè)LED顯
- SMT焊接常見缺陷及解決辦法
- 數(shù)字動(dòng)態(tài)偏置IC提供完整的功率放大器偏置解決
推薦技術(shù)資料
- 按鈕與燈的互動(dòng)實(shí)例
- 現(xiàn)在趕快去看看這個(gè)目錄卞有什么。FGA15N120AN... [詳細(xì)]