基于ADSP-21262的DSP的監(jiān)控設(shè)計(jì)
2.4 單DSP系統(tǒng)監(jiān)控的工作機(jī)制
系統(tǒng)的監(jiān)控功能需要PC機(jī)軟件和底層軟件協(xié)同工作來(lái)實(shí)現(xiàn),工作流程如圖3所示。
圖3中左半部分代表底層DSP監(jiān)控功能程序的流程,右半部分代表PC機(jī)監(jiān)控服務(wù)軟件的操作流程,中間的虛線代表底層軟件和PC機(jī)軟件之間有數(shù)據(jù)通訊。
ADSP-21262內(nèi)有1 Mbit的程序存儲(chǔ)器(PM),當(dāng)配置為32位字長(zhǎng)時(shí),其地址空間為:0X80000~0X87FFF。其中0X80000~0X800FF為中斷向量表的位置,其后的空間被分為兩部分,分別存放用戶程序和監(jiān)控程序。其中用戶程序駐留在低地址空間,監(jiān)控程序駐留在高地址空間,具體位置用戶可以根據(jù)監(jiān)控程序的大小作出調(diào)整。DSP的程序區(qū)示意圖如圖4所示。底層監(jiān)控程序中UART的模擬是通過(guò)定時(shí)對(duì)Rx和Tx信號(hào)線進(jìn)行采樣來(lái)實(shí)現(xiàn)的,因此在監(jiān)控程序中斷向量表中的定時(shí)中斷_TMZHI處執(zhí)行JUMP TIMER0_INT指令,其中TIMER0_INT處為定時(shí)中斷服務(wù)程序,用于實(shí)現(xiàn)UART的收發(fā)功能。而在下載用戶程序時(shí),監(jiān)控程序的中段向量表被用戶的中斷向量表所覆蓋,于是就無(wú)法執(zhí)行相應(yīng)的UART操作了,為了解決該問(wèn)題,在監(jiān)控程序中加入以下代碼段:
其作用就是保護(hù)定時(shí)中斷向量入口,以保證正確進(jìn)入定時(shí)中斷服務(wù)程序。
3 多DSP系統(tǒng)監(jiān)控設(shè)計(jì)
3.1 多DSP系統(tǒng)監(jiān)控硬件設(shè)計(jì)
多ADSP-21262的DSP系統(tǒng)監(jiān)控電路如圖5所示。
此系統(tǒng)共由5個(gè)ADSP-21262組成。其中DSP0被設(shè)為主處理器,其余4個(gè)作為從處理器。主處理器可以通過(guò)SPI總線與各從處理器通訊。從而實(shí)現(xiàn)對(duì)各從處理器的監(jiān)控操作。而PC機(jī)與主處理器之間則采用上文所述的單DSP系統(tǒng)的監(jiān)控方式,這里不作贅述。
主DSP設(shè)置為EPROM引導(dǎo)方式,上電后從外部EPROM中引導(dǎo)其監(jiān)控程序PROGRAM_A。各從DSP則設(shè)置為SPI從引導(dǎo)方式,等待主DSP完成其自身引導(dǎo)后,再將監(jiān)控程序PROGRAM_B通過(guò)SPI口寫入從DSP中。完成引導(dǎo)后主/從DSP分別進(jìn)入各自的監(jiān)控狀態(tài)。
3.2 多DSP系統(tǒng)監(jiān)控工作機(jī)制
此系統(tǒng)中,PC機(jī)對(duì)主DSP的監(jiān)控機(jī)制與單DSP系統(tǒng)相似,但是PC機(jī)監(jiān)控軟件向主DSP發(fā)送監(jiān)控命令時(shí),在命令字節(jié)中添加了DSP的ID信息,ID0~I(xiàn)D4分別對(duì)應(yīng)DSP0~DSP4。主DSP接收到命令字節(jié)后提取出其中的ID信息,判斷用戶所期望的DSP代碼,如果是對(duì)主DSP自身的監(jiān)控命令,則按照單DSP系統(tǒng)的監(jiān)控機(jī)制進(jìn)行操作;如果是對(duì)某一從DSP的監(jiān)控命令,則主DSP選中相應(yīng)的從DSP,并通過(guò)SPI口將監(jiān)控命令發(fā)往相應(yīng)的從DSP,從DSP在執(zhí)行完用戶所要求的監(jiān)控功能后將結(jié)果通過(guò)SPI口發(fā)往主DSP,再由主DSP發(fā)送給PC機(jī)監(jiān)控服務(wù)軟件。從而實(shí)現(xiàn)用戶對(duì)系統(tǒng)中各DSP的靈活管理。
對(duì)于不帶SPI接口的DSP,也完全可以采用其他各種通訊接口作為主DSP與從DSP之間的接口。
4 結(jié)束語(yǔ)
本文探討和研究了ADI公司SHARC系列DSPADSP-21262的監(jiān)控原理和實(shí)現(xiàn)機(jī)制。并以單DSP和多DSP系統(tǒng)為例,分別詳細(xì)介紹了以UART口作為監(jiān)控接口的監(jiān)控設(shè)計(jì)方法。此方法也完全適用于其他各類DSP的監(jiān)控實(shí)現(xiàn)。
用戶可以根據(jù)系統(tǒng)需要和DSP所能提供的資源采用其他的監(jiān)控方法:例如PC與主DSP之間的監(jiān)控接口可以選擇為USB口、網(wǎng)口等;而主DSP與從DSP之間的通訊也能通過(guò)其他各類總線,例如并行的數(shù)據(jù)/地址總線、同步串口、I2C、HPI、LINK等,完全取決于用戶的需要,十分靈活方便。
評(píng)論