0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫(xiě)文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

如何采用DSP與PCI接口實(shí)現(xiàn)CAN總線適配器的設(shè)計(jì)

電子設(shè)計(jì) ? 來(lái)源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-02-06 08:52 ? 次閱讀

1 引 言

CAN總線是一種開(kāi)放式、數(shù)字化、多點(diǎn)通信的串行總線,是一種具有較高性價(jià)比、能滿足分布式控制要求的現(xiàn)場(chǎng)總線,在控制領(lǐng)域得到廣泛采用。CAN的速率可達(dá)到1 Mb/s/40 M,最大傳輸距離可達(dá)10 km/5 kb/s。為了擴(kuò)展CAN總線的監(jiān)控、管理功能,需要一種實(shí)時(shí)、可靠的CAN總線PC適配器,實(shí)現(xiàn)對(duì)CAN總線監(jiān)視、控制和操作。本文利用TMS320LF2407芯片自帶CAN模塊,設(shè)計(jì)成CAN的一個(gè)特殊節(jié)點(diǎn)。使其即能通過(guò)PCI接口同PC機(jī)進(jìn)行數(shù)據(jù)交換,又能獨(dú)立與PC機(jī)自主運(yùn)行。

2 適配器的硬件設(shè)計(jì)

2.1 CAN接口實(shí)現(xiàn)

以往CAN總線適配器多數(shù)采用Intel82527、Philips公司的SJA100等芯片來(lái)完成CAN通信控制。本文利用TMS320LF2407內(nèi)嵌的CAN模塊作為CAN通訊控制器,該模塊是一個(gè)16位的外設(shè)模塊。他完全支持CAN 2.0B協(xié)議,可工作在標(biāo)準(zhǔn)模式和擴(kuò)展模式,支持?jǐn)?shù)據(jù)幀和遠(yuǎn)程幀,數(shù)據(jù)收發(fā)采用郵箱方式;有可編程定時(shí)器,可對(duì)中斷配置編程,可編程實(shí)現(xiàn)總線喚醒功能;能自動(dòng)回復(fù)遠(yuǎn)程請(qǐng)求,有完備的錯(cuò)誤診斷功能;可進(jìn)行自測(cè)試,有自動(dòng)收發(fā)功能。PCA82C250是驅(qū)動(dòng)CAN控制器和物理總線間的接口芯片,與DSP2407的CAN模塊相連,完成DSP對(duì)CAN總線的差動(dòng)發(fā)送和接收功能。

2.2 PCI接口實(shí)現(xiàn)

采用H.X公司的PCI9052實(shí)現(xiàn)PCI總線接口功能,PCI9052可與多種局部總線相連接,并且可支持相對(duì)慢的局部總線,在PCI總線上達(dá)到突發(fā)傳輸速率132 m/s。PCI9052擁有讀寫(xiě)FIFO,32位的字寬,33 M的PCI總線時(shí)鐘頻率。主要功能與特性如下:

(1)符合PCI2.1規(guī)范的目標(biāo),接口芯片支持低成本從屬適配器;

(2)支持非復(fù)用或多路復(fù)用8位、16位、32位局部總線;

(3)串行E2PROM用于裝載配置信息;

(4)具有5個(gè)局部地址空間和4個(gè)局部地址空間的片選信號(hào);

(5)支持局域總線與PCI時(shí)鐘的異步運(yùn)行。

2.3 總體設(shè)計(jì)思想

適配器采用存儲(chǔ)器共享的方式實(shí)現(xiàn)DSP與PC的數(shù)據(jù)交換。其*享存儲(chǔ)器選用集成雙口RAM IDT7130。IDT7130容量為1 kb,其左口連接DSP2407,右口連接PCI9052,使用存儲(chǔ)器尋址方式。同時(shí),對(duì)IDT7130 2個(gè)端口的仲裁采用的是中斷線的方式。片上的DSP和PC機(jī)通過(guò)互發(fā)中斷來(lái)讀取IDT7130的數(shù)據(jù)。這樣使IDT7130成為上位機(jī)和DSP的數(shù)據(jù)交換中介,DSP能夠?qū)崟r(shí)處理從上位機(jī)傳來(lái)的命令和數(shù)據(jù),同時(shí)把各個(gè)CAN節(jié)點(diǎn)的信息傳給上位機(jī)。利用一塊串行E2PROM(93CA6B)存放適配器的PCI配置信息。上電后訪問(wèn)93C46B,實(shí)現(xiàn)本適配器的自動(dòng)配置。Altera公司的EPM7064S完成地址譯碼和邏輯控制。適配器原理圖如圖1所示:

如何采用DSP與PCI接口實(shí)現(xiàn)CAN總線適配器的設(shè)計(jì)

2.4 電源、地及噪聲的處理

在本設(shè)計(jì)中對(duì)電源的處理首先將模擬部分的電源和數(shù)字電路部分的電源進(jìn)行隔離,即分別供電。模擬電路部分的5 V電源分別取自PCI總線上的12 V電源,經(jīng)線性穩(wěn)壓后,再經(jīng)去耦、濾波后引至專門(mén)設(shè)計(jì)的模擬電源平面。數(shù)字部分的5 V電源直接取自PCI總線上的5 V電源。數(shù)字部分的3.3 V電源亦取自PCI總線上的5 V電源,經(jīng)穩(wěn)壓后得到。在PCB的層結(jié)構(gòu)設(shè)計(jì)中也充分考慮到盡可能地保留完整、大而積的電源平面層。適配器的“地”事實(shí)上分為模擬地和數(shù)字地2部分。這2部分最終在電源平面入口處相連。使得模擬地相對(duì)干凈。從而減少疊加到信號(hào)上的噪聲,有利于提高信噪比。

3 適配器的硬件設(shè)計(jì)

適配器的硬件設(shè)計(jì)主要包括2部分:PCI適配器驅(qū)動(dòng)軟件部分和DSP數(shù)據(jù)采集處理軟件部分。

3.1 PCI適配器驅(qū)動(dòng)程序設(shè)計(jì)

由于PCI設(shè)備的中斷,1/0端口、映射內(nèi)存等資源都是動(dòng)態(tài)分配的,必須編寫(xiě)驅(qū)動(dòng)程序管理硬件,才能供用戶編程使用。考慮到適配器的通用性和兼容性,驅(qū)動(dòng)程序的開(kāi)發(fā)采用支持Windows XP,Windows 2000,Windows 98的WDM驅(qū)動(dòng)程序。開(kāi)發(fā)工具采用Visual C++6.0。WDM(WindowsDriver Model)是NT4.0內(nèi)核模式設(shè)備驅(qū)動(dòng)程序模型的擴(kuò)展形式,是為基于Windows 2000的設(shè)備驅(qū)動(dòng)程序提供的一種新的開(kāi)發(fā)模型。本設(shè)計(jì)使用開(kāi)發(fā)工具WINDRIVER大大簡(jiǎn)化驅(qū)動(dòng)程序的開(kāi)發(fā)。通過(guò)DiverWizard開(kāi)發(fā)者很容易生成驅(qū)動(dòng)程序框架,同時(shí),WINDRIVER和VC有很好的接口。生成驅(qū)動(dòng)框架后在VC中就可以通過(guò)在工程項(xiàng)目中加入9052_lib.c,在應(yīng)用程序開(kāi)頭直接引用#include"9052lib.h",并0添加特定的驅(qū)動(dòng)代碼完成驅(qū)動(dòng)程序的編寫(xiě)。下面是驅(qū)動(dòng)程序主函數(shù)的部分代碼:

如何采用DSP與PCI接口實(shí)現(xiàn)CAN總線適配器的設(shè)計(jì)

3.2 PCI適配器驅(qū)動(dòng)程序設(shè)計(jì)

固化在DSP中的應(yīng)用軟件是整個(gè)系統(tǒng)實(shí)時(shí)運(yùn)行的支撐軟件。主體程序采用ASIC C語(yǔ)言編寫(xiě)。他主要完成以下功能:

(1)環(huán)境初始化;

(2)從CAN總線接受數(shù)據(jù);

(3)從RAM中讀數(shù);

(4)系統(tǒng)的控制程序;

(5)向CAN總線發(fā)送任務(wù)包;

(6)向PC上傳數(shù)據(jù)。

系統(tǒng)的控制程序根據(jù)用戶系統(tǒng)的需求自主來(lái)開(kāi)發(fā)。由于DSP20417是16位單片機(jī)有較強(qiáng)的運(yùn)算能力和實(shí)時(shí)控制功能。他要處理所有的CAN數(shù)據(jù)包的解釋,而且能夠滿足分布實(shí)時(shí)控制的現(xiàn)場(chǎng)總線要求。在實(shí)際調(diào)試中發(fā)現(xiàn)下層的控制器向PC機(jī)的傳遞數(shù)據(jù)量遠(yuǎn)大于PC機(jī)下傳的數(shù)據(jù)量,因此在數(shù)據(jù)編碼時(shí)將控制信息、采樣數(shù)據(jù)編號(hào)信息和控制量、采集量均加載在數(shù)據(jù)字節(jié)里。由此CAN總線通訊協(xié)議的形式為:“ID號(hào)+數(shù)據(jù)+校驗(yàn)”,其中ID號(hào)為各DSP采集器編號(hào)采用11位標(biāo)識(shí)符的前4位。為了保證通訊的可靠性,在數(shù)據(jù)接受后,都由一個(gè)返回幀,以表示確認(rèn),其校驗(yàn)位為發(fā)送端的固定代碼。DSP上傳實(shí)時(shí)采集數(shù)據(jù)的發(fā)送采用定時(shí)查詢的方式,查詢采樣是否結(jié)束并且進(jìn)行了相應(yīng)的數(shù)據(jù)處理后,立即將數(shù)據(jù)通過(guò)CAN控制裝載并發(fā)送到CAN總線上?;玖鞒倘鐖D2所示。

如何采用DSP與PCI接口實(shí)現(xiàn)CAN總線適配器的設(shè)計(jì)

4 應(yīng)用實(shí)例

應(yīng)用該CAN通訊適配器對(duì)實(shí)驗(yàn)室3臺(tái)交流異步電機(jī)進(jìn)行監(jiān)控。系統(tǒng)構(gòu)成原理如圖3所示。在通信時(shí),CAN總線設(shè)為多主結(jié)構(gòu)。PCICAN轉(zhuǎn)換卡地址是1,電機(jī)A、電機(jī)B、電機(jī)C的地址分別為2,3,4。變頻器控制電機(jī)A以v0速度左右10%的額定轉(zhuǎn)速范圍內(nèi)線性變化,同時(shí)CAN收發(fā)器1發(fā)送電機(jī)A轉(zhuǎn)速的數(shù)字量至CAN卡。CAN卡同步實(shí)時(shí)發(fā)送信號(hào)至CAN收發(fā)器2,3,調(diào)節(jié)電機(jī)B,C使其分別以速度1.1v0,1.2V0工作。CAN卡同時(shí)分別采集每個(gè)電機(jī)速度發(fā)送至PC機(jī),以便人機(jī)監(jiān)控調(diào)整。系統(tǒng)的人機(jī)界而是基于Windows平臺(tái)用VC”6.0語(yǔ)言開(kāi)發(fā),DSP內(nèi)部程序用ASIC C語(yǔ)言編寫(xiě),實(shí)際運(yùn)行控制結(jié)果表明該系統(tǒng)工作可靠、電機(jī)調(diào)節(jié)響應(yīng)速度快。

如何采用DSP與PCI接口實(shí)現(xiàn)CAN總線適配器的設(shè)計(jì)

5 結(jié)語(yǔ)

本文設(shè)計(jì)的CAN總線適配器實(shí)用性強(qiáng),并具有良好的可擴(kuò)展性。在WIN2000系統(tǒng)下經(jīng)過(guò)長(zhǎng)時(shí)間的運(yùn)行測(cè)試,運(yùn)行穩(wěn)定可靠。他可以適應(yīng)不同的傳輸速率和距離,有效保證工業(yè)控制系統(tǒng)的實(shí)時(shí)性。DSP芯片一方面對(duì)CAN總線各控制節(jié)點(diǎn)的參數(shù)進(jìn)行高速運(yùn)算處理,另一方面通過(guò)PCI總線進(jìn)行人機(jī)數(shù)據(jù)交互,起封一種CAN總線中主控節(jié)點(diǎn)的作用。

聲明:本文內(nèi)容及配圖由入駐作者撰寫(xiě)或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場(chǎng)。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問(wèn)題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • dsp
    dsp
    +關(guān)注

    關(guān)注

    554

    文章

    8058

    瀏覽量

    349575
  • CAN總線
    +關(guān)注

    關(guān)注

    145

    文章

    1954

    瀏覽量

    130923
  • 適配器
    +關(guān)注

    關(guān)注

    8

    文章

    1966

    瀏覽量

    68120
  • PCI
    PCI
    +關(guān)注

    關(guān)注

    4

    文章

    671

    瀏覽量

    130371
收藏 人收藏

    評(píng)論

    相關(guān)推薦

    USB轉(zhuǎn)串口驅(qū)動(dòng)器CAN接口適配器

    、CAN總線設(shè)備測(cè)試、數(shù)據(jù)分析的強(qiáng)大工具。采用接口適配器,PC可以通過(guò)USB接口連接一個(gè)標(biāo)準(zhǔn)
    發(fā)表于 04-21 14:25

    USB轉(zhuǎn)CAN適配器、轉(zhuǎn)換器

    工具。采用接口適配器,PC可以通過(guò)USB接口連接一個(gè)標(biāo)準(zhǔn)CAN網(wǎng)絡(luò),應(yīng)用于構(gòu)建現(xiàn)場(chǎng)總線測(cè)試實(shí)驗(yàn)
    發(fā)表于 05-11 09:26

    Ginkgo USB-CAN接口適配器

    :基于Ginkgo USB-CAN接口適配器實(shí)現(xiàn)CAN總線bootloader上位機(jī)軟件,利用
    發(fā)表于 10-09 15:09

    Ginkgo USB-CAN總線適配器

    上的波特率大小;STM32 CAN波特率計(jì)算器:計(jì)算STM32單片機(jī)的CAN總線波特率參數(shù)的小軟件;應(yīng)用實(shí)例簡(jiǎn)介:基于Ginkgo USB-CAN
    發(fā)表于 10-09 15:17

    快速使用Ginkgo CAN適配器教程

    ,是CAN總線產(chǎn)品開(kāi)發(fā)、CAN總線設(shè)備測(cè)試、數(shù)據(jù)分析的強(qiáng)大工具,采用接口
    發(fā)表于 10-11 15:21

    緯圖Ginkgo USB-CAN接口適配器

    。 ZLG_CANtest:CAN數(shù)據(jù)的發(fā)送接收顯示軟件。源碼完全公開(kāi)的應(yīng)用實(shí)例基于Ginkgo USB-CAN接口適配器實(shí)現(xiàn)
    發(fā)表于 11-03 09:49

    快速使用Ginkgo CAN適配器教程

    ,是CAN總線產(chǎn)品開(kāi)發(fā)、CAN總線設(shè)備測(cè)試、數(shù)據(jù)分析的強(qiáng)大工具,采用接口
    發(fā)表于 12-17 09:30

    Ginkgo USB-CAN總線適配器的使用

    ,是CAN總線產(chǎn)品開(kāi)發(fā)、CAN總線設(shè)備測(cè)試、數(shù)據(jù)分析的強(qiáng)大工具,采用接口
    發(fā)表于 02-21 11:37

    基于USB的CAN總線適配器的設(shè)計(jì)

    采用內(nèi)嵌CAN控制器的Motorola MC68HC908AZ60A作為微控制器,以PDIUSBD12作為USB的接口芯片,設(shè)計(jì)了基于USB接口C
    發(fā)表于 07-07 15:01 ?31次下載

    RS-232轉(zhuǎn)CAN總線協(xié)議適配器的設(shè)計(jì)

    本文介紹一種設(shè)計(jì)RS-232 轉(zhuǎn)CAN 總線協(xié)議適配器的方法,采用STC89C51 作為微處理器,MCP2510 作為CAN
    發(fā)表于 01-13 14:09 ?87次下載

    基于USB技術(shù)的CAN總線適配器的設(shè)計(jì)

    基于USB技術(shù)的CAN總線適配器的設(shè)計(jì) CAN總線是德國(guó)BOSCH公司在20世紀(jì)80年代初為解決現(xiàn)代汽車中眾多的控制與測(cè)試儀器之間的數(shù)據(jù)交
    發(fā)表于 04-12 12:40 ?625次閱讀

    基于DSPPCI總線CAN適配器設(shè)計(jì)

    基于DSPPCI總線CAN適配器設(shè)計(jì)  1 引 言   CAN
    發(fā)表于 03-05 11:21 ?1740次閱讀
    基于<b class='flag-5'>DSP</b>的<b class='flag-5'>PCI</b><b class='flag-5'>總線</b><b class='flag-5'>CAN</b><b class='flag-5'>適配器</b>設(shè)計(jì)

    一種高速CAN—LonWork總線互聯(lián)適配器的設(shè)計(jì)與實(shí)現(xiàn)

    摘要:針對(duì)目前國(guó)內(nèi)測(cè)控領(lǐng)域流行的CAN總線與LonWorks總線通信標(biāo)準(zhǔn)互不兼容的問(wèn)題,提出了一種高速CANLonWorks總線互聯(lián)適配器
    發(fā)表于 02-27 15:14 ?27次下載

    CAN總線無(wú)線電適配器

    電子發(fā)燒友網(wǎng)站提供《CAN總線無(wú)線電適配器板.zip》資料免費(fèi)下載
    發(fā)表于 07-29 09:23 ?3次下載
    <b class='flag-5'>CAN</b><b class='flag-5'>總線</b>無(wú)線電<b class='flag-5'>適配器</b>板

    基于LPC2292的CAN總線USB接口適配器的設(shè)計(jì)

    電子發(fā)燒友網(wǎng)站提供《基于LPC2292的CAN總線USB接口適配器的設(shè)計(jì).pdf》資料免費(fèi)下載
    發(fā)表于 10-09 16:53 ?1次下載
    基于LPC2292的<b class='flag-5'>CAN</b><b class='flag-5'>總線</b>USB<b class='flag-5'>接口</b><b class='flag-5'>適配器</b>的設(shè)計(jì)