新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > AVR和TMS320VC5402的HPI接口通信設計

        AVR和TMS320VC5402的HPI接口通信設計

        作者: 時間:2012-03-06 來源:網絡 收藏

        #pragma interrupt_handler int2_isr:4
        void int2_isr(void)
        {
        unsigned int number;
        AL = 0x0f;
        AH = 0xff;
        for(number=0;number120;number++) /* 傳送vector數據段 */
        {
        AUTOWL = vector[number]>>8;
        AUTOWH = vector[number];
        }
        …… /* 傳送其他數據段 */
        AL = 0x00; /* 設置DSP程序入口地址 */
        HPIAH = 0x7f;
        WRITEL = 0x30;
        WRITEH = 0x00;
        while(((PIND 0x04)==0x00)) /* 撤銷DSP的中斷申請 */
        {
        HPICL = 0x0;
        HPICH = 0x8;
        }
        }

        4. 軟件框架

        4.1. 主控器命令的發布

        是主控器,DSP是從機。和DSP之間通過DSP內部存儲器的命令緩沖區和響應標識緩沖區交換信息。AVR觸發DSP的HPI中斷通知DSP 有新的命令,DSP通過向響應標識緩沖區寫入不同的內容向AVR表明DSP所處的狀態。AVR通過查詢的方式確定DSP的處理狀態。

        AVR發布命令的程序框架:
        HPIAL = 0x00;
        HPIAH = 0x60;
        WRITEL = orderhighbyte;
        WRITEH = orderlowbyte; /* 向命令緩沖區0x60寫入命令*/
        HPIAL = 0x00;
        HPIAH = 0x61;
        WRITEL = orderhighparameter;
        WRITEH = orderlowparameter; /*向命令緩沖區0x61寫入命令參數*/
        HPICL = 0x0; /*觸發DSP中斷*/
        HPICH = 0x4;
        dsphpidata = 0x00;
        HPIAL = 0x00;
        HPIAH = 0x62;
        while((dsphpidata != 0xaa)) /*判斷響應標識區0x62內容是否為0xaaaa*/
        {
        dsphpidata = READL;
        dsphpidata = READH;
        }
        ……



        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 沭阳县| 龙游县| 隆昌县| 南和县| 伊吾县| 钟祥市| 浦东新区| 米脂县| 抚远县| 临海市| 惠州市| 永仁县| 仲巴县| 阿瓦提县| 玉田县| 枞阳县| 苏尼特右旗| 甘德县| 宜川县| 囊谦县| 云南省| 金堂县| 崇仁县| 正镶白旗| 大厂| 四会市| 平谷区| 枣阳市| 沙河市| 彭泽县| 临夏县| 鄄城县| 喀什市| 莒南县| 营山县| 固原市| 调兵山市| 商城县| 绿春县| 涞源县| 鄂尔多斯市|