關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > TMS320C6416與CAN控制器的接口實現

        TMS320C6416與CAN控制器的接口實現

        作者: 時間:2010-04-28 來源:網絡 收藏

        1.3 與SJAl000的設計
        的數據總線和地址總線是分開的。在對存儲器操作時,地址和數據幾乎是同時出現的,而且系統采用流水線工作方式,TMS-320C6416的地址和數據總線是無法與SJAl000的AD0~AD7直接連接的,也沒有方法可以將SJAl000的RAM直接映射到的存儲器中。因此,為了TMS320C6416與SJAl000的,應將SJAl000的ALE和直接映射為TMS320C6416的兩個I/O端口。可將SJA1000的ADO~AD7直接和TMS320C6416的BED0~BED7連接。當ALE為高電平時,TMS320C6416的BED0~BED7送數據給SJAl000,表示地址值;當ALE為低電平,而且也為低電平時,TMS320C6416的BED0~BED7則和SJAl000交換數據。在這種方法中,可以利用ALE為高電平和為低電平來區分地址總線周期和數據總線周期。
        圖3所示是其硬件連接方法。

        本文引用地址:http://www.104case.com/article/163106.htm


        圖3中的PCA82C250為串行鏈接I/O器件。CPLD芯片EPM7512用于產生相應的控制信號并輸出給SJAl000,從而控制SJAl00O的地址和數據總線周期。

        2 基于EPM7512的邏輯
        EPM7512是AIZERA公司生產的復雜可編程邏輯器件(CPLD),可與AIXERA公司的QuartusII開發系統軟件配合,并可以100%地模仿TTL。采用EPM7512作為DSP的外部接口擴展,可非常方便而且靈活地接口功能。
        DSP處理器的地址線BEAl5經CPLD產生片選信號后,可由地址線BEA15作為的地址和數據選擇線,并和一起產生SJAl000的地址鎖存信號ALE。BEAl5為l時,地址有效;BEAl5為0時,數據有效。
        采用ModelSim仿真軟件可對接口電路進行功能仿真,其仿真結果如圖4所示,能夠滿足SJAl000的讀寫時序要求。

        3 接口電路的軟件讀寫操作
        SJAl000的地址線和數據線可映射為DSP芯片TMS320C6416的外部程序存儲EMIFB的CE3區域,其在DSP上的地址分別為0x6-C008000和0x6C000001。其用C語言編程的代碼如下:
        #defineTXB 16
        #define RXB 16
        (char*) CANAS= (char*) 0x6c008000;//定義CAN控制器數據線
        (char*) CANCS=(char*)0x6c000001;//定義CAN控制器地址線
        //以下兩句為SJAl000的控制寄存器MOD(PeliCAN模式下地址0)賦值Ox09;
        *CANAS=0;//提供CAN控制器寄存器地址
        *CANCS=0x09;//提供CAN控制器寄存器數據
        //以下兩句從SJAl000的狀態寄存器SR (PeliCAN模式下基地址+2)讀取數據;
        *CANAS=2;//提供CAN控制器寄存器地址
        *SR=CANCS0xoff;//讀取CAN控制器數據。

        4 結束語
        本文提供了一種基于CPLD的DSP處理器TMS320C6416和CAN控制器SJAl000接口方法,該實現方法比傳統硬件邏輯門電路的實現方法更加方便靈活。通過對該方法的軟硬件實現進行的仿真結果證明,該設計可以穩定可靠的運行。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 涞水县| 延长县| 陵水| 萝北县| 辉南县| 关岭| 铜川市| 新郑市| 区。| 太和县| 秭归县| 靖安县| 遂平县| 安丘市| 英德市| 邹平县| 南充市| 当阳市| 安龙县| 南乐县| 盘山县| 望谟县| 林口县| 林周县| 香格里拉县| 射阳县| 深州市| 博爱县| 平阳县| 温宿县| 潜山县| 莆田市| 石泉县| 北京市| 鄢陵县| 达孜县| 比如县| 贵南县| 清河县| 千阳县| 武鸣县|