|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機 | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
有請版主和各位,請教一個 2407A 硬件設(shè)計方面的問題 |
| 作者:shiqiang 欄目:DSP技術(shù) |
請版主大人和各位大俠給點意見,先謝謝了! 具體現(xiàn)象描述如下: 新制作的實驗板一塊,外擴(kuò)一片 64K*16 SRAM(61LV6416)作仿真程序區(qū)(PS、RD、WE 作控制信號),一片 32K*16 SRAM(61LV3216)作數(shù)據(jù)區(qū)(DS、RD、WE 作控制信號)。制作完成后,可以通過 JTAG 將程序?qū)懭?DSP 芯片,程序運行正常(運行結(jié)果通過232口發(fā)送到PC機)。 但是在仿真時卻出現(xiàn)了問題,進(jìn)入 CCS 和下載程序都沒有問題,也沒有報錯。但是將程序 LOAD 到片外 RAM 后,在匯編窗口中只能看到部分程序(代碼不完整),運行不起來(程序下載到買來的開發(fā)板上,運行正常)。 經(jīng)仔細(xì)測量PCB線路連接,可以確認(rèn)沒有連接錯誤。MP/MC 模式設(shè)置無誤。RESET 管腳沒有干擾信號。應(yīng)該上拉的管腳(ENA_144、BOOT_EN、VIS_OE、BIO)均已上拉。芯片供電 3.3V 非常干凈(TPS7333Q)。 本人原先有較多的8位單片機設(shè)計經(jīng)驗,第一次使用DSP。為了穩(wěn)妥起見,擴(kuò)展 SRAM 沒有采用片外邏輯譯碼方式,而是直接采用 DSP 芯片的控制管腳進(jìn)行讀寫控制。 修改.CMD 文件,將程序 LOAD 到不同的 SRAM 區(qū)域,都無法仿真。實在是費解?所用的 CCS 軟件是隨仿真器一起來的。 是不是因為PCB布線的時候太講究好看了,DSP 的地址線和數(shù)據(jù)線都有許多較近距離的平行線(線寬10mil,中心間距20-25mil),造成高速讀寫時驅(qū)動的容抗較大? 買了一片瑞泰創(chuàng)新的開發(fā)板,布線看上去比較亂,像是自動布線的結(jié)果,但下載、仿真都很正常。 仿真所用的 .CMD 文件 和中斷向量表 .asm 文件如下: .CMD 文件: -stack 0x200 MEMORY { PAGE 0: VECTS : origin = 0x0000, length = 0x0040 CODES : origin = 0x0044, length = 0xF000 PAGE 1: B0B1 : origin = 0x0200, length = 0x0200 B2 : origin = 0x0060, length = 0x0020 SARAM : origin = 0x0800, length = 0x0800 EXRAM : origin = 0x8000, length = 0x8000 } SECTIONS { .vectors : load = VECTS PAGE 0 .text : load = CODES PAGE 0 .cinit : load = CODES PAGE 0 .data : load = SARAM PAGE 1 .bss : load = SARAM PAGE 1 .const : load = SARAM PAGE 1 .SWITCH : load = CODES PAGE 0 .stack : load = B0B1 PAGE 1 .SYSTEM : load = SARAM PAGE 1 } .asm 文件 .ref _c_int0 .ref _int1,_int2,_int3,_int4,_int5,_int6 .sect ".vectors" RSVECT B _c_int0 INT1 B _int1 INT2 B _int2 INT3 B _int3 INT4 B _int4 INT5 B _int5 INT6 B _int6 以上兩個文件都是從我所讀的資料上整理得來的,應(yīng)該是最常用的形式。 |
| 2樓: | >>參與討論 |
| 作者: yang96381 于 2005/6/9 17:21:00 發(fā)布:
把問題說清楚一點! 制作完成后,可以通過 JTAG 將程序?qū)懭?DSP 芯片,程序運行正常(運行結(jié)果通過232口發(fā)送到PC機)。 但是在仿真時卻出現(xiàn)了問題,進(jìn)入 CCS 和下載程序都沒有問題,也沒有報錯 你的串口通信是不是脫機運行,也就是說能把程序燒寫到片內(nèi)程序存儲器中嗎? |
|
| 3樓: | >>參與討論 |
| 作者: yang96381 于 2005/6/9 18:06:00 發(fā)布:
呵呵,程序不超過32k字,可以采用一片61LV6416就夠啦! |
|
| 4樓: | >>參與討論 |
| 作者: shiqiang 于 2005/6/9 21:00:00 發(fā)布:
接 yang96381 的答復(fù) 是先寫好了程序,在買來的開發(fā)板上調(diào)試通過了。因為在自制的板子上仿真通不過,才想到將程序?qū)懭?FLASH 試一下的。 沒想到寫入后運行時一切正常,懷疑外擴(kuò) SRAM 部分有問題,但是我只用了 PS、DS、RD、WE 這4根控制信號線,外加地址線、數(shù)據(jù)線。本人雖然沒有用過 DSP 但也做過不少項目,熟悉MCS51、AVR、PIC16 等系列單片機的應(yīng)用技術(shù),而且很有耐心做 Debug 工作。 這次的現(xiàn)象還沒有想清原因?相信大家在這個領(lǐng)域里一定有許多經(jīng)驗,是否有過類似的經(jīng)歷,能夠給提點一下! |
|
| 5樓: | >>參與討論 |
| 作者: shiqiang 于 2005/6/10 1:28:00 發(fā)布:
再頂一下 再頂一下 |
|
| 6樓: | >>參與討論 |
| 作者: yang96381 于 2005/6/10 8:12:00 發(fā)布:
仿真時有啥提示和現(xiàn)象? 建議把61LV6416的引腳再仔細(xì)焊一下,你的板子功耗大嗎? 外圍電路驅(qū)動負(fù)載能力是否夠用?仿真時可以用示波器觀察一下61LV6416的 控制引腳. |
|
| 7樓: | >>參與討論 |
| 作者: 不愛說話 于 2005/6/10 8:13:00 發(fā)布:
自己的問題只有自己能解決 一般我在論壇上發(fā)帖沒人能幫忙,最后都是自己解決的. 除非問題比較簡單或有代表性. 也不是說別人不管,確實有的問題一兩句話說不明白. 這個問題我也在關(guān)注,因為我也要做2407的板子了,上面帶RAM. |
|
| 8樓: | >>參與討論 |
| 作者: yang96381 于 2005/6/10 8:39:00 發(fā)布:
還有仿真時,mp/-mc引腳需接高電平! |
|
| 9樓: | >>參與討論 |
| 作者: liudewei 于 2005/6/11 15:07:00 發(fā)布:
看看硬件 你在view-memory-program空間下依次從0000h-ffffh抽查,隨意改寫某個地址單元的數(shù)據(jù),刷新后,看有沒有異常,如發(fā)現(xiàn)寫的內(nèi)容不對或其他地址內(nèi)容變化了這證明程序ram有問題,檢查一下焊接在試試,總之調(diào)試是先硬件后軟件 |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |