微波EDA网,见证研发工程师的成长! 2025婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柛娑橈攻閸欏繘鏌熺紒銏犳灍闁稿骸顦…鍧楁嚋闂堟稑顫岀紓浣哄珡閸パ咁啇闁诲孩绋掕摫閻忓浚鍘奸湁婵犲﹤鎳庢禍鎯庨崶褝韬┑鈥崇埣瀹曠喖顢橀悙宸€撮梻鍌欑閹诧繝鎮烽妷褎宕叉慨妞诲亾鐎殿喖顭烽弫鎰緞婵犲嫷鍚呴梻浣瑰缁诲倸螞椤撶倣娑㈠礋椤撶姷锛滈梺缁樺姦閸撴瑩宕濋妶鍡欑缁绢參顥撶弧鈧悗娈垮枛椤兘骞冮姀銈呭窛濠电姴瀚倴闂傚倷绀侀幉锟犲箰閸℃稑宸濇い鏃傜摂閸熷懐绱撻崒姘偓鎼佸磹閻戣姤鍤勯柤鎼佹涧閸ㄦ梹銇勯幘鍗炵仼闁搞劌鍊块弻娑㈩敃閿濆棛顦ラ梺钘夊暟閸犳牠寮婚弴鐔虹闁绘劦鍓氶悵鏇㈡⒑缁嬫鍎忔俊顐g箞瀵鈽夊顐e媰闂佸憡鎸嗛埀顒€危閸繍娓婚柕鍫濇嚇閻涙粓鏌熼崙銈嗗04闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鎯у⒔閹虫捇鈥旈崘顏佸亾閿濆簼绨奸柟鐧哥秮閺岋綁顢橀悙鎼闂侀潧妫欑敮鎺楋綖濠靛鏅查柛娑卞墮椤ユ艾鈹戞幊閸婃鎱ㄩ悜钘夌;闁绘劗鍎ら崑瀣煟濡崵婀介柍褜鍏涚欢姘嚕閹绢喖顫呴柍鈺佸暞閻濇洟姊绘担钘壭撻柨姘亜閿旇鏋ょ紒杈ㄦ瀵挳濮€閳锯偓閹风粯绻涙潏鍓хК婵炲拑绲块弫顔尖槈閵忥紕鍘遍梺鍝勫暊閸嬫挻绻涢懠顒€鏋涢柣娑卞櫍瀵粙顢樿閺呮繈姊洪棃娑氬婵炶绲跨划顓熷緞婵犲孩瀵岄梺闈涚墕濡稒鏅堕柆宥嗙厱閻庯綆鍓欐禒閬嶆煙椤曞棛绡€濠碉紕鍏橀崺锟犲磼濠婂啫绠洪梻鍌欑閹碱偄煤閵娾晛纾绘繛鎴欏灩閻掑灚銇勯幒鍡椾壕濠电姭鍋撻梺顒€绉撮悞鍨亜閹哄秷鍏岄柛鐔哥叀閺岀喖宕欓妶鍡楊伓16闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鎯у⒔閹虫捇鈥旈崘顏佸亾閿濆簼绨奸柟鐧哥秮閺岋綁顢橀悙鎼闂侀潧妫欑敮鎺楋綖濠靛鏅查柛娑卞墮椤ユ艾鈹戞幊閸婃鎱ㄩ悜钘夌;闁绘劗鍎ら崑瀣煟濡崵婀介柍褜鍏涚欢姘嚕閹绢喖顫呴柍鈺佸暞閻濇牠姊绘笟鈧埀顒傚仜閼活垱鏅堕幍顔剧<妞ゆ洖妫涢崚浼存懚閺嶎灐褰掓晲閸噥浠╁銈嗘⒐濞茬喎顫忓ú顏呭仭闁规鍠楅幉濂告⒑閼姐倕鏋傞柛搴f暬楠炲啫顫滈埀顒勫春閿熺姴绀冩い蹇撴4缁辨煡姊绘担铏瑰笡闁荤喆鍨藉畷鎴﹀箻缂佹ḿ鍘遍梺闈浨归崕鎶藉春閿濆洠鍋撳▓鍨灈妞ゎ參鏀辨穱濠囧箹娴e摜鍘搁梺绋挎湰閻喚鑺辨禒瀣拻濞达絽鎳欒ぐ鎺戝珘妞ゆ帒鍊婚惌娆撴煙鏉堟儳鐦滈柡浣稿€块弻銊╂偆閸屾稑顏� 闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鎯у⒔閹虫捇鈥旈崘顏佸亾閿濆簼绨奸柟鐧哥秮閺岋綁顢橀悙鎼闂侀潧妫欑敮鎺楋綖濠靛鏅查柛娑卞墮椤ユ艾鈹戞幊閸婃鎱ㄩ悜钘夌;闁绘劗鍎ら崑瀣煟濡崵婀介柍褜鍏涚欢姘嚕閹绢喖顫呴柣妯荤垹閸ャ劎鍘遍柣蹇曞仜婢т粙鎮¢姘肩唵閻熸瑥瀚粈鈧梺瀹狀潐閸ㄥ潡銆佸▎鎴犵<闁规儳澧庣粣妤呮⒒娴e憡鍟炴い顓炴瀹曟﹢鏁愰崱娆屽亾濞差亝鍊垫鐐茬仢閸旀碍绻涢懠顒€鈻堢€规洘鍨块獮姗€鎳滈棃娑欑€梻浣告啞濞诧箓宕滃☉銏℃櫖婵炴垯鍨洪埛鎴︽煕濞戞ǚ鐪嬫繛鍫熸礀閳规垿鎮欑拠褑鍚梺璇″枙閸楁娊銆佸璺虹劦妞ゆ巻鍋撻柣锝囧厴瀹曞ジ寮撮妸锔芥珜濠电姰鍨煎▔娑㈩敄閸℃せ鏋嶉悘鐐缎掗弨浠嬫煟濡櫣浠涢柡鍡忔櫅閳规垿顢欓懞銉ュ攭濡ょ姷鍋涢敃銉ヮ嚗閸曨垰绠涙い鎺戝亰缁遍亶姊绘担绛嬫綈鐎规洘锕㈤、姘愁樄闁哄被鍔戞俊鍫曞幢閺囩姷鐣鹃梻渚€娼ч悧鍡欌偓姘煎灦瀹曟鐣濋崟顒傚幈濠电偛妫楃换鎴λ夐姀鈩冨弿濠电姴鎳忛鐘电磼鏉堛劌绗掗摶锝夋煠婵劕鈧倕危椤掑嫭鈷掑ù锝呮嚈瑜版帗鏅濋柕鍫濇嫅閼板潡姊洪鈧粔鎾倿閸偁浜滈柟鍝勭Х閸忓矂鏌涢悢鍝ュ弨闁哄瞼鍠栧畷娆撳Χ閸℃浼�濠电姷鏁告慨鐑藉极閸涘﹥鍙忛柣鎴f閺嬩線鏌涘☉姗堟敾闁告瑥绻橀弻锝夊箣閿濆棭妫勯梺鍝勵儎缁舵岸寮婚悢鍏尖拻閻庨潧澹婂Σ顔剧磼閻愵剙鍔ゆい顓犲厴瀵鏁愭径濠勭杸濡炪倖甯婇悞锕傚磿閹剧粯鈷戦柟鑲╁仜婵″ジ鏌涙繝鍌涘仴鐎殿喛顕ч埥澶愬閳哄倹娅囬梻浣瑰缁诲倸螞濞戔懞鍥Ψ瑜忕壕钘壝归敐鍛儓闂夊顪冮妶搴′簻妞わ箑鐏氭穱濠囨偨缁嬭法顦板銈嗙墬濮樸劑鎮块埀顒勬⒒娴e憡鍟為柟鍝ュ厴閹虫宕奸弴鐐磋緢闂佺粯岣块弫鍝ュ閽樺褰掓晲閸涱喗鍎撳銈呴閻倿寮诲☉銏犖╅柕澹啰鍘介柣搴㈩問閸犳牠鈥﹂柨瀣╃箚闁归棿绀侀悡娑㈡煕鐏炲墽鐓紒銊ょ矙濮婄粯鎷呴崨闈涚秺瀵敻顢楅崒婊呯厯闂佺鎻€靛矂寮崒鐐寸叆闁绘洖鍊圭€氾拷
首页 > 硬件设计 > MCU和DSP > ADSP-21262型DSP的监控设计

ADSP-21262型DSP的监控设计

时间:06-18 来源:互联网 点击:
1 引言
随着数字信号处理理论的日趋完善和超大规模集成电路技术的飞速发展,在各种实时处理应用需求的推动下,数字信号处理器(DSP)也得到了越来越广泛的应用。

DSP的监控是DSP开发和应用中十分重要的环节。目前在DSP的开发过程中,最常用的方式是通过购买处理器的JTAG仿真器和开发软件包实现对DSP的调试和监控。JTAG调试工具的功能十分强大,对于不熟悉DSP内部结构和细节的开发者而言是一种非常不错的选择。但是此种方法也有其缺陷:首先,开发成本比较昂贵,一般购买正版仿真器和软件包的价格都在数千美元至数万美元不等;其次,通用性不强。不但不同公司的处理器需要使用不同的仿真器,同一公司的不同系列DSP之间也没有兼容性。

基于以上原因,笔者结合ADSP-21262的开发研究了其他的监控实现方式。

2 单DSP系统监控设计

2.1 ADSP-21262简介

ADSP-21262是ADI公司推出的一款高性能浮点数字信号处理器,特性如下:

200 MHz工作主频。1 200 MFLOPS;
超级哈佛结构,内部三条独立总线,三级流水线结构;
2 Mbit双口SRAM,4 Mbit双口ROM;
双内核结构,支持SISD和SIMD工作模式;
22条独立的DMA通道;
丰富的外围设备接口。

2.2 单DSP系统监控硬件设计

单ADSP-21262型DSP系统的监控部分硬件电路如图1所示。

闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鎯у⒔閹虫捇鈥旈崘顏佸亾閿濆簼绨奸柟鐧哥秮閺岋綁顢橀悙鎼闂侀潧妫欑敮鎺楋綖濠靛鏅查柛娑卞墮椤ユ艾鈹戞幊閸婃鎱ㄩ悜钘夌;婵炴垟鎳為崶顒佸仺缂佸鐏濋悗顓熶繆閵堝繒鍒伴柛鐕佸亞缁鈽夊Ο蹇撶秺閺佹劙宕ㄩ璺攨缂傚倷绀侀鍕嚄閸撲焦顫曢柟鎹愵嚙绾惧吋鎱ㄥ鍡楀幋闁稿鎹囬幃婊堟嚍閵夈儮鍋撻崸妤佺叆闁哄洦姘ㄩ崝宥夋煙閸愯尙鐒告慨濠勭帛閹峰懘宕ㄦ繝鍌涙畼闂備浇宕甸崰鍡涘磿閹惰棄绠查柕蹇曞濞笺劑鏌嶈閸撴瑩顢氶敐鍡欑瘈婵﹩鍘兼禍婊呯磼閻愵剙顎滃瀛樻倐瀵煡顢楅崟顑芥嫼闂佸湱枪濞撮绮婚幘瀵哥閻犲泧鍛煂闁轰礁鐗婃穱濠囧Χ閸涱喖娅ら梺绋款儌閸撴繄鎹㈠┑鍥╃瘈闁稿本绋戝▍锝咁渻閵堝繒鍒伴柕鍫熸倐楠炲啯绂掔€e灚鏅┑鐐村灦钃遍悹鍥╁仱濮婅櫣鎷犻垾铏亶闂佽崵鍣︽俊鍥箲閵忕姭鏀介悗锝庝簽閸婄偤姊洪棃娴ゆ盯宕橀妸銉喘婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柟闂寸绾捐銇勯弽顐粶闁绘帒鐏氶妵鍕箳閹存繍浠肩紒鐐劤椤兘寮婚悢鐓庣鐟滃繒鏁☉銏$厽闁规儳顕ú鎾煙椤旂瓔娈滈柡浣瑰姈閹棃鍨鹃懠顒佹櫦婵犵數濮幏鍐礃椤忓啰椹抽梻渚€鈧稓鈹掗柛鏂跨Ф閹广垹鈹戠€n亜绐涘銈嗘礀閹冲秹宕Δ鍛拻濞达絽鎲$拹锟犳煙閾忣偅灏甸柍褜鍓氬銊︽櫠濡や胶鈹嶅┑鐘叉搐缁犵懓霉閿濆牆鈧粙濡搁埡鍌滃弳闂佸搫鍟犻崑鎾绘煕鎼达紕锛嶇紒杈╁仱楠炴帒螖娴e弶瀚介梻浣呵归張顒勬偡閵娾晛绀傜€光偓閸曨剛鍘甸梺鎯ф禋閸嬪懎鐣峰畝鈧埀顒冾潐濞叉粓寮拠宸殨濞寸姴顑愰弫鍥煟閹邦収鍟忛柛鐐垫暬濮婄粯鎷呴懞銉с€婇梺闈╃秶缁犳捇鐛箛娑欐櫢闁跨噦鎷�...


ADSP-21262支持多种上电引导方式,如外部EPROM引导、SPI主模式引导、SPI从模式引导。这里选取SPI主模式作为其引导方式。AT25F1024为串行SPI Flash存储器,用于存储ADSP-21262需要引导的程序。如果这里存储的是监控程序,则DSP完成上电引导后便可进入监控状态。并能执行相应的监控功能操作。

这里用异步串口(UART)作为监控系统与用户PC机的通讯接口,完成底层监控程序和PC端监控服务软件之间的通讯。MAX232为电平转换器件,将DSP端的CMOS电平转化为PC端的RS232电平。大多数DSP均不提供自带的UART接口,但是由于UART接口为大多数工程人员所熟悉。并且连线简单,很容易通过两根通用I/O口来分别模拟其Tx、Rx信号,故这里采用此方案。

当然也可以用USB控制器或网口控制器实现USB接口方式或网络接口方式的监控。无论是PC机层的监控服务软件设计,还是底层的监控功能程序设计,在原理上基本一致,不同的只是上层PC机的监控服务软件和底层DSP的监控功能程序之间的通讯所采用的接口方式。这里以UART接口的监控系统为例进行详细介绍。

2.3 监控软件设计

监控的主要功能是方便DSP的调试,故其应该为用户提供的功能主要包括:

处理器的复位和初始化;
程序的装载和运行;
查看DSP内部数据区和程序区;
写DSP内部数据区和程序区;
查看相关的系统寄存器;
程序代码的反汇编显示。

监控软件的设计由上层PC机监控服务软件和底层DSP监控功能程序两部分组成,它的层次结构如图2所示。

闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鎯у⒔閹虫捇鈥旈崘顏佸亾閿濆簼绨奸柟鐧哥秮閺岋綁顢橀悙鎼闂侀潧妫欑敮鎺楋綖濠靛鏅查柛娑卞墮椤ユ艾鈹戞幊閸婃鎱ㄩ悜钘夌;婵炴垟鎳為崶顒佸仺缂佸鐏濋悗顓熶繆閵堝繒鍒伴柛鐕佸亞缁鈽夊Ο蹇撶秺閺佹劙宕ㄩ璺攨缂傚倷绀侀鍕嚄閸撲焦顫曢柟鎹愵嚙绾惧吋鎱ㄥ鍡楀幋闁稿鎹囬幃婊堟嚍閵夈儮鍋撻崸妤佺叆闁哄洦姘ㄩ崝宥夋煙閸愯尙鐒告慨濠勭帛閹峰懘宕ㄦ繝鍌涙畼闂備浇宕甸崰鍡涘磿閹惰棄绠查柕蹇曞濞笺劑鏌嶈閸撴瑩顢氶敐鍡欑瘈婵﹩鍘兼禍婊呯磼閻愵剙顎滃瀛樻倐瀵煡顢楅崟顑芥嫼闂佸湱枪濞撮绮婚幘瀵哥閻犲泧鍛煂闁轰礁鐗婃穱濠囧Χ閸涱喖娅ら梺绋款儌閸撴繄鎹㈠┑鍥╃瘈闁稿本绋戝▍锝咁渻閵堝繒鍒伴柕鍫熸倐楠炲啯绂掔€e灚鏅┑鐐村灦钃遍悹鍥╁仱濮婅櫣鎷犻垾铏亶闂佽崵鍣︽俊鍥箲閵忕姭鏀介悗锝庝簽閸婄偤姊洪棃娴ゆ盯宕橀妸銉喘婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柟闂寸绾捐銇勯弽顐粶闁绘帒鐏氶妵鍕箳閹存繍浠肩紒鐐劤椤兘寮婚悢鐓庣鐟滃繒鏁☉銏$厽闁规儳顕ú鎾煙椤旂瓔娈滈柡浣瑰姈閹棃鍨鹃懠顒佹櫦婵犵數濮幏鍐礃椤忓啰椹抽梻渚€鈧稓鈹掗柛鏂跨Ф閹广垹鈹戠€n亜绐涘銈嗘礀閹冲秹宕Δ鍛拻濞达絽鎲$拹锟犳煙閾忣偅灏甸柍褜鍓氬銊︽櫠濡や胶鈹嶅┑鐘叉搐缁犵懓霉閿濆牆鈧粙濡搁埡鍌滃弳闂佸搫鍟犻崑鎾绘煕鎼达紕锛嶇紒杈╁仱楠炴帒螖娴e弶瀚介梻浣呵归張顒勬偡閵娾晛绀傜€光偓閸曨剛鍘甸梺鎯ф禋閸嬪懎鐣峰畝鈧埀顒冾潐濞叉粓寮拠宸殨濞寸姴顑愰弫鍥煟閹邦収鍟忛柛鐐垫暬濮婄粯鎷呴懞銉с€婇梺闈╃秶缁犳捇鐛箛娑欐櫢闁跨噦鎷�...


2.3.1 PC机软件设计

PC机软件是用户实现DSP监控操作的平台,由C++Builder 5.0开发完成。主要由监控软件界面、各个监控功能模块和UART驱动函数模块组成。

监控软件界面是监控系统和用户进行信息交互的平台,它整合了各个监控功能模块,用户通过它完成各个功能模块的调用、参数的传递、结果的显示等。

PC监控功能模块完成对底层DSP监控功能程序的调用,从而实现用户所需的相应监控功能。

UART驱动函数模块的作用是实现上层PC机的监控服务软件和底层DSP的监控功能程序之间的UART接口通讯。

2.3.2 底层软件设计

底层DSP监控功能程序是整个监控功能实现的核心,由汇编语言开发完成。它由底层监控功能模块和UART协议收发驱动函数模块组成。

底层监控功能模块可以供PC端监控功能模块进行调用,它直接负责完成对DSP的相应管理和操作,如:程序的装载和运行、DSP内部指定地址存储区的读写、寄存器的读写等。

由于ADSP-21262不带UART接口,于是需要UART协议收发驱动函数用两个通用I/O引脚模拟UART的工作时序,以实现DSP与PC间的通讯。

2.4 单DSP系统监控的工作机制

系统的监控功能需要PC机软件和底层软件协同工作来实现,工作流程如图3所示。

闂傚倸鍊搁崐鎼佸磹閹间礁纾归柟闂寸绾惧綊鏌熼梻瀵割槮缁炬儳缍婇弻鐔兼⒒鐎靛壊妲紒鎯у⒔閹虫捇鈥旈崘顏佸亾閿濆簼绨奸柟鐧哥秮閺岋綁顢橀悙鎼闂侀潧妫欑敮鎺楋綖濠靛鏅查柛娑卞墮椤ユ艾鈹戞幊閸婃鎱ㄩ悜钘夌;婵炴垟鎳為崶顒佸仺缂佸鐏濋悗顓熶繆閵堝繒鍒伴柛鐕佸亞缁鈽夊Ο蹇撶秺閺佹劙宕ㄩ璺攨缂傚倷绀侀鍕嚄閸撲焦顫曢柟鎹愵嚙绾惧吋鎱ㄥ鍡楀幋闁稿鎹囬幃婊堟嚍閵夈儮鍋撻崸妤佺叆闁哄洦姘ㄩ崝宥夋煙閸愯尙鐒告慨濠勭帛閹峰懘宕ㄦ繝鍌涙畼闂備浇宕甸崰鍡涘磿閹惰棄绠查柕蹇曞濞笺劑鏌嶈閸撴瑩顢氶敐鍡欑瘈婵﹩鍘兼禍婊呯磼閻愵剙顎滃瀛樻倐瀵煡顢楅崟顑芥嫼闂佸湱枪濞撮绮婚幘瀵哥閻犲泧鍛煂闁轰礁鐗婃穱濠囧Χ閸涱喖娅ら梺绋款儌閸撴繄鎹㈠┑鍥╃瘈闁稿本绋戝▍锝咁渻閵堝繒鍒伴柕鍫熸倐楠炲啯绂掔€e灚鏅┑鐐村灦钃遍悹鍥╁仱濮婅櫣鎷犻垾铏亶闂佽崵鍣︽俊鍥箲閵忕姭鏀介悗锝庝簽閸婄偤姊洪棃娴ゆ盯宕橀妸銉喘婵犵數濮烽弫鍛婃叏閻戣棄鏋侀柟闂寸绾捐銇勯弽顐粶闁绘帒鐏氶妵鍕箳閹存繍浠肩紒鐐劤椤兘寮婚悢鐓庣鐟滃繒鏁☉銏$厽闁规儳顕ú鎾煙椤旂瓔娈滈柡浣瑰姈閹棃鍨鹃懠顒佹櫦婵犵數濮幏鍐礃椤忓啰椹抽梻渚€鈧稓鈹掗柛鏂跨Ф閹广垹鈹戠€n亜绐涘銈嗘礀閹冲秹宕Δ鍛拻濞达絽鎲$拹锟犳煙閾忣偅灏甸柍褜鍓氬銊︽櫠濡や胶鈹嶅┑鐘叉搐缁犵懓霉閿濆牆鈧粙濡搁埡鍌滃弳闂佸搫鍟犻崑鎾绘煕鎼达紕锛嶇紒杈╁仱楠炴帒螖娴e弶瀚介梻浣呵归張顒勬偡閵娾晛绀傜€光偓閸曨剛鍘甸梺鎯ф禋閸嬪懎鐣峰畝鈧埀顒冾潐濞叉粓寮拠宸殨濞寸姴顑愰弫鍥煟閹邦収鍟忛柛鐐垫暬濮婄粯鎷呴懞銉с€婇梺闈╃秶缁犳捇鐛箛娑欐櫢闁跨噦鎷�...


图3中左半部分代表底层DSP监控功能程序的流程,右半部分代表PC机监控服务软件的操作流程,中间的虚线代表底层软件和PC机软件之间有数据通讯。

ADSP-21262内有1 Mbit的程序存储器(PM),当配置为32位字长时,其地址空间为:0X80000~0X87FFF。其中0X80000~0X800FF为中断向量表的位置,其后的空间被分为两部分,分别存放用户程序和监控程序。其中用户程序驻留在低地址空间,监控程序驻留在高地址空间,具体位置用户可以根据监控程序的大小作出调整。DSP的程序区示意图如图4所示。底层监控程序中UART的模拟是通过定时对Rx和Tx信号线进行采样来实现的,因此在监控程序中断向量表中的定时中断_TMZHI处执行JUMP TIMER0_INT指令,其中TIMER0_INT处为定时中断服务程序,用于实现UART的收发功能。而在下载用户程序时,监控程序的中段向量表被用户的中断向量表所覆盖,于是就无法执行相应的UART操作了,为了解决该问题,在监控程序中加入以下代码段:

灏勯涓撲笟鍩硅鏁欑▼鎺ㄨ崘

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top