一種can總線控制器sja1000與dsp的接口控制方法
【技術(shù)領(lǐng)域】
[0001]本發(fā)明屬于數(shù)據(jù)通信技術(shù)領(lǐng)域,特別是涉及一種CAN總線控制器SJA1000與DSP的接口控制方法。
【背景技術(shù)】
[0002]目前,控制器局域網(wǎng)絡(luò)CAN(ControlArea Network)總線是能夠有效支持分布式控制或?qū)崟r(shí)控制的串行通信網(wǎng)絡(luò),具有結(jié)構(gòu)簡(jiǎn)單、通信靈活、實(shí)時(shí)性高、可靠性高、較強(qiáng)的抗干擾性以及良好的錯(cuò)誤檢測(cè)能力。
[0003]實(shí)現(xiàn)智能自主控制是基于CAN總線的電子系統(tǒng)智能管控單元的普遍要求。這類智能管控單元需要快速獲取并存儲(chǔ)各類敏感器的大量測(cè)量數(shù)據(jù),快速處理數(shù)據(jù)并作出正確的控制決策,立即給出控制指令。這不僅要求處理器具有更高的運(yùn)算速度、更大的存儲(chǔ)能力,同時(shí)也要求總線具有更高的通信速率和更可靠的工作特性。
[0004]DSP芯片可以作為電子系統(tǒng)處理器的最佳選擇,其運(yùn)行速度和計(jì)算能力遠(yuǎn)遠(yuǎn)超過(guò)單片機(jī),尤其適用于數(shù)據(jù)量大、要求快速運(yùn)算的工業(yè)場(chǎng)合,是智能管控單元比較常用的一類處理器。目前,CAN總線應(yīng)用最廣泛的控制器是Philips公司的SJA1000獨(dú)立CAN控制器。但是,DSP芯片的片外引腳一般采用地址線和數(shù)據(jù)線分離的結(jié)構(gòu),不再使用地址/數(shù)據(jù)分時(shí)復(fù)用線,而CAN控制器SJA1000采用地址/數(shù)據(jù)分時(shí)復(fù)用,所以不能將DSP與SJA1000的地址和數(shù)據(jù)總線直接相連。國(guó)內(nèi)外沒(méi)有專用集成芯片實(shí)現(xiàn)兩者的轉(zhuǎn)換。雖然有部分DSP內(nèi)部的事件管理器包含了一個(gè)eCAN模塊,配合CAN總線驅(qū)動(dòng)器PCA82C250即可構(gòu)成CAN節(jié)點(diǎn),但是目前構(gòu)成CAN總線網(wǎng)絡(luò)最常用的CAN控制器是地址/數(shù)據(jù)分時(shí)復(fù)用的結(jié)構(gòu),也就是說(shuō)其它CAN控制器和SJA1000類似,而且存在DSP內(nèi)部的eCAN模塊不能滿足雙總線的要求等技術(shù)問(wèn)題。
【發(fā)明內(nèi)容】
[0005]本發(fā)明為解決公知技術(shù)中存在的技術(shù)問(wèn)題而提供一種CAN總線控制器SJA1000與DSP的接口控制方法。
[0006]本發(fā)明的目的是提供一種具有時(shí)間資源和空間資源配置合理,接口和時(shí)序匹配可靠,簡(jiǎn)單易行,實(shí)現(xiàn)手段多樣,應(yīng)用領(lǐng)域廣泛等特點(diǎn)的CAN總線控制器SJA1000與DSP的接口控制方法。使地址線和數(shù)據(jù)線獨(dú)立的DSP芯片可以和地址/數(shù)據(jù)分時(shí)復(fù)用的CAN控制器SJA1000組成電子系統(tǒng)智能管控單元的CPU最小系統(tǒng)。
[0007]本發(fā)明涉及的控制器SJA1000與DSP的接口邏輯方法主要包括把DSP和CAN控制器的相關(guān)控制信號(hào)通過(guò)時(shí)序及控制邏輯電路、地址產(chǎn)生電路相匹配的方法,以及CAN控制器的數(shù)據(jù)/地址總線是如何在控制信號(hào)的作用下進(jìn)行時(shí)分復(fù)用的。
[0008]本發(fā)明CAN總線控制器SJA1000與DSP的接口控制方法所采取的技術(shù)方案是:
[0009]—種CAN總線控制器SJA1000與DSP的接口控制方法,其特征是:CAN總線控制器SJA1000與DSP的接口采用微控制器和CAN控制器的接口電路進(jìn)行控制,將地址線和數(shù)據(jù)線獨(dú)立的DSP芯片和地址/數(shù)據(jù)分時(shí)復(fù)用的CAN控制器SJA1000組成智能管控單元;微控制器和CAN控制器的接口電路由時(shí)序及控制邏輯產(chǎn)生電路、地址產(chǎn)生電路和數(shù)據(jù)/地址總線驅(qū)動(dòng)電路組成;讀、寫信號(hào)的控制總線和地址總線作為時(shí)序及控制邏輯產(chǎn)生電路的輸入,經(jīng)過(guò)地址產(chǎn)生電路,二者生成的控制信號(hào)構(gòu)成CAN控制器的控制總線。
[0010]本發(fā)明CAN總線控制器SJA1000與DSP的接口控制方法還可以采用如下技術(shù)方案:[0011 ]所述的CAN總線控制器SJA1000與DSP的接口控制方法,其特點(diǎn)是:微控制器的數(shù)據(jù)總線在時(shí)序及控制邏輯產(chǎn)生電路輸出信號(hào)的控制下,經(jīng)過(guò)數(shù)據(jù)/地址總線驅(qū)動(dòng)電路生成數(shù)據(jù)/地址總線作為CAN控制器的數(shù)據(jù)/地址總線。
[0012]所述的CAN總線控制器SJA1000與DSP的接口控制方法,其特點(diǎn)是:CAN控制器的控制信號(hào)決定當(dāng)前時(shí)刻的總線是數(shù)據(jù)總線還是地址總線,實(shí)現(xiàn)地址/數(shù)據(jù)分時(shí)復(fù)用。
[0013]本發(fā)明具有的優(yōu)點(diǎn)和積極效果是:
[0014]CAN總線控制器SJA100 0與D SP的接口控制方法由于采用了本發(fā)明全新的技術(shù)方案,與現(xiàn)有技術(shù)相比,本發(fā)明具有以下明顯特征:
[0015]1、本發(fā)明提供了一種CAN總線控制器SJA1000與DSP的接口控制方法,實(shí)現(xiàn)了時(shí)間資源和空間資源的合理配置。
[0016]2、本發(fā)明涉及的控制器SJA1000與DSP的接口邏輯電路可以通過(guò)CPLD實(shí)現(xiàn),也可以通過(guò)門電路實(shí)現(xiàn)。可以結(jié)合自身情況,選擇適合的方法和手段。
[0017]3、本發(fā)明利用DSP和SJA1000現(xiàn)有的硬件資源和自身的時(shí)序要求,把二者時(shí)序相關(guān)的信號(hào)經(jīng)過(guò)重新梳理、整合,通過(guò)硬件的方式實(shí)現(xiàn)接口和時(shí)序的匹配,相比軟件方式更可
A+-.與巨Ο
[0018]4、本發(fā)明涉及的接口控制方法可解決使用DSP作為處理器的CAN總線冗余備份的要求。只需給兩個(gè)CAN控制器的相關(guān)控制信號(hào)分配不同的地址即可,DSP的兩個(gè)外部中斷可以作為兩個(gè)CAN控制器的中斷信號(hào)。方法簡(jiǎn)單易行,解決了 DSP內(nèi)部只有一個(gè)eCAN模塊只能實(shí)現(xiàn)單總線的問(wèn)題。
[0019]5、本發(fā)明控制器SJA1000與DSP的接口控制還適用其它地址/數(shù)據(jù)分時(shí)復(fù)用的CAN控制器和DSP的總線場(chǎng)合。對(duì)于地址/數(shù)據(jù)獨(dú)立的處理器和地址/數(shù)據(jù)分時(shí)復(fù)用的控制器之間的接口和時(shí)序匹配問(wèn)題,都可以使用本發(fā)明介紹的接口邏輯設(shè)計(jì)思路解決這一類問(wèn)題。處理器并不局限于DSP,總線也不局限于CAN總線。因此,該類數(shù)字系統(tǒng)的應(yīng)用領(lǐng)域不受限制。
【附圖說(shuō)明】
[0020]圖1是微處理器與CAN控制器的接口設(shè)計(jì)原理框圖;
[0021 ]圖2是CAN控制器SJA1000讀周期時(shí)序圖(Intel模式);
[0022]圖3是CAN控制器SJA1000寫周期時(shí)序圖(Intel模式);
[0023]圖4是TMS320F2812與CAN控制器接口電路,其中虛線部分是數(shù)據(jù)/地址總線驅(qū)動(dòng)電路;
[0024]圖5虛線部分是DSP與SJA1000之間的時(shí)序及控制邏輯產(chǎn)生電路,其它部分是地址產(chǎn)生電路;
[0025]圖6是SJA1000的CAN總線發(fā)送流程圖;
[0026]圖7是SJA1000的CAN總線接收流程圖。
【具體實(shí)施方式】
[0027]為能進(jìn)一步了解本發(fā)明的
【發(fā)明內(nèi)容】
、特點(diǎn)及功效,茲例舉以下實(shí)施例,并配合附圖詳細(xì)說(shuō)明如下:
[0028]參閱附圖1至圖7。
[0029]實(shí)施例1
[0030]一種CAN總線控制器SJA1000與DSP的接口控制方法,采用微控制器和CAN控制器的接口電路進(jìn)行控制。使地址線和數(shù)據(jù)線獨(dú)立的DSP芯片可以和地址/數(shù)據(jù)分時(shí)復(fù)用的CAN控制器SJA1000組成電子系統(tǒng)智能管控單元的CPU最小系統(tǒng)。
[0031]微控制器和CAN控制器的接口電路主要由時(shí)序及控制邏輯產(chǎn)生電路、地址產(chǎn)生電路和數(shù)據(jù)/地址總線驅(qū)動(dòng)電路組成。控制總線(讀、寫信號(hào))和地址總線(A15-A13)作為時(shí)序及控制邏輯產(chǎn)生電路的輸入,經(jīng)過(guò)地址產(chǎn)生電路,二者生成的控制信號(hào)構(gòu)成CAN控制器的控制總線。
[0032]微控制器的數(shù)據(jù)總線在時(shí)序及控制邏輯產(chǎn)生電路輸出信號(hào)的控制下,經(jīng)過(guò)總線驅(qū)動(dòng)器生成數(shù)據(jù)/地址總線作為CAN控制器的數(shù)據(jù)/地址總線。CAN控制器的控制信號(hào)決定了當(dāng)前時(shí)刻的總線是數(shù)據(jù)總線還是地址總線,也就是地址/數(shù)據(jù)分時(shí)復(fù)用。
[0033]微控制器的數(shù)據(jù)總線在時(shí)序及控制邏輯產(chǎn)生電路輸出信號(hào)的控制下,經(jīng)過(guò)數(shù)據(jù)/地址總線驅(qū)動(dòng)電路生成數(shù)據(jù)/地址總線作為CAN控制器的數(shù)據(jù)/地址總線。CAN控制器的控制信號(hào)決定當(dāng)前時(shí)刻的總線是數(shù)