新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > AVR和TMS320VC5402的HPI接口通信設(shè)計

AVR和TMS320VC5402的HPI接口通信設(shè)計

作者: 時間:2012-03-06 來源:網(wǎng)絡(luò) 收藏

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

4. 軟件框架

4.1. 主控器命令的發(fā)布

是主控器,DSP是從機(jī)。和DSP之間通過DSP內(nèi)部存儲器的命令緩沖區(qū)和響應(yīng)標(biāo)識緩沖區(qū)交換信息。AVR觸發(fā)DSP的HPI中斷通知DSP 有新的命令,DSP通過向響應(yīng)標(biāo)識緩沖區(qū)寫入不同的內(nèi)容向AVR表明DSP所處的狀態(tài)。AVR通過查詢的方式確定DSP的處理狀態(tài)。

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



評論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉