|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統 驅動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產業 | CAN-bus/DeviceNe |
LPC2210調試成功愿把心得與大家分享 |
| 作者:mahuaqiang 欄目:ARM技術 |
我不是最優秀的嵌入式開發人員,但我是優秀的,至少我每天都在不懈努力著…… 以前是用51做東西的,雖然沒有大的研究成果但自己研究的小產品也在被使用著,談不上成就但總還有幾分欣慰的,畢竟自己在這條路上起步的比較晚。今年因工作的需要(準確的說是項目要提高“產品檔次”)才開始用ARM(LPC2210)的,買了個1980¥的開發板就開始了,現在已經有3個月了,書上的配套的很多實驗都做完了,自己也做了TCP轉雙串口等(在開發板上做的程序),自我感覺還是學了點東西;之后自己開始做板子,但在調試的過程中遇到了很多問題,但是最終成功了。 為了讓更多的人能走的更快、更穩、更有信心,今天以“真誠”寫下自己的心得體會: ARM系統應該分為4個部分:(1)供電系統(電源的設計)(2)復位與時鐘(3)JTAG/ISP調試測試口(4)CPU與存儲系統 1、 供電系統為了穩定我用了LM2575、復位用了復位芯片SP708S,如果你是初次做ARM板建議使用這些性能好的芯片,不要為了省錢而用別的便宜器件湊合。這部分電路設計簡單,我就不說了 2、 我想具體說一些我“費勁”的地方。首先在做完原理圖設計后在認真檢查一邊。注意幾個地方:復位芯片SP708S、SP3232E通信芯片、CPU的的各個管腳(有點廢話),我就把CPU的22腳和140腳搞到一起了;232的16腳的VCC連接到和16腳連接的電容的下方等價于連接到2腳上了;把CPU的130腳標注成了P2.16_D15,而把RAM和FLASH上的直接標注為D15了,致使生成的PCB板的“D15”數據線沒有連接(其他的注意的幾個腳P0.14、P1.20、P2.26、P2.27看是否都設置對了) 3、 PCB做好后先不要急著焊接(我是著急焊接的、呵呵````),先用萬用表仔細檢查板子是否“本身”就有短路、斷路的地方(我的板子有2處、后來有問題后才測試找到的),確認基本沒問題后在焊接,起碼要確認“重要的線路”沒問題再焊接。 4、 焊接的時候要做好準備:PCB檢測過了、所有確保最小系統工作的器件都準備好了、最好用好一點的烙鐵(恒溫的比較好)、焊錫絲盡可能的細一些(我用的是0.5mm)的、準備些松香和A3的白紙深深吸一口氣就可以焊接了。 5、 先焊接電源部分(5V、3。3V、1。8V),然后測量確保正常,確保送到每個片子上的電源到位。然后焊接LPC2210、SP708S、SP3232E、74HC125、LED等(最好設計幾個LED,調試的時候用),焊接好后就可以準備調試了。 6、 在插幾句:首先、焊接的時候我用的是先固定對角,既而4角,然后依次小心焊接;其次、焊接好后再用小塊的松香化在管腳上然后把烙鐵放成45度加點焊錫再焊一邊確保都焊接牢固了;最后用酒精(無水乙醇)把松香洗掉,再用表測量一下連接情況 7、 現在可以開始調試了:JTAG的連接 (1、2管腳接3.3V電源; 3 --- 43(nTRST); 5---140(TDI); 7 ---113(TMS); 9---126(RTCK);11 通過4.7K電阻接地并接2210的52(RTCK)引腳;13 ---144(TDO); 15 (nRST)接SP708S的復位輸出引腳; 17,19管腳懸空;其他管腳接地。) 8、 先驗證CPU是否工作:1、讀取ID(拉低P0.14腳);2、用片內RAM仿真(1、下載2100模板,添加到自己計算機,例如:D:\ARM\ADSv1_2\Stationery\;2、建立2100工程文件即可開始仿真;3、先點亮LED,注意此處程序的延時需要“加大”,否則看不到“高低”變化) 9、 CPU的ID讀取成功,說明“最小系統正常”、232芯片工作正常了;使用內部RAM仿真成功說明JTAG正常了; 10、 然后焊接RAM(IS61LV25616AL)開始外部仿真(用2200模板),只要線路連接沒問題就會一次成功!如果不成功請仔細檢查線路,是否連接、是否短路、斷路!!!! 先寫這么多,等高手添加豐富內容,讓更多的人能有所收獲就夠了!!! |
| 2樓: | >>參與討論 |
| 作者: foyyof 于 2006/7/26 17:12:00 發布:
恩,基本是這樣的。 雖然沒什么意外的高招,但仔細的寫了個完整流程,幫你頂。^^ |
|
| 3樓: | >>參與討論 |
| 作者: 沙漠的邊緣 于 2006/7/26 17:52:00 發布:
說的好啊,基本流程都說出來了 看著很羅嗦,不過值得學習!!!!!如果大家都像mahuaqiang 把工作心得寫出來,共同分享,那就好了!!! |
|
| 4樓: | >>參與討論 |
| 作者: mahuaqiang 于 2006/7/27 8:28:00 發布:
多謝各位幫忙頂 只要VCC、GND、UART0、SP3232E連接正常就可以讀取ID 只要讀取ID后且JIAG沒問題就可內部仿真 不能進行外部仿真或下載程序到外部FLASH請先檢查:1、P2.27低電壓(0.25V左右);2、P2.26高電壓(3.30V左右);3、P1.20高電壓;4、P0.14高電壓 * - 本貼最后修改時間:2006-7-27 8:32:49 修改者:mahuaqiang |
|
| 5樓: | >>參與討論 |
| 作者: mahuaqiang 于 2006/7/27 8:40:00 發布:
JTAG JTAG
|
|
| 6樓: | >>參與討論 |
| 作者: mahuaqiang 于 2006/7/27 8:42:00 發布:
電源設計部分 電源
|
|
| 7樓: | >>參與討論 |
| 作者: huilily 于 2006/7/28 22:33:00 發布:
辛苦了 很多經驗是寶貴的,再次表示感謝!希望我們的壇子越來越好... |
|
| 8樓: | >>參與討論 |
| 作者: zlg315 于 2006/7/29 0:59:00 發布:
就是需要這樣踏踏實實地做下去,耐心和良好的習慣是最重要的! 什么是人才?我認為這就是優秀人才。很多人羨慕別人,不如這樣將每一步走好,從積累點滴經驗做起。 |
|
| 9樓: | >>參與討論 |
| 作者: hotpower 于 2006/7/29 1:09:00 發布:
付出必有回報,灌水肯定豐收~~~ |
|
| 10樓: | >>參與討論 |
| 作者: mahuaqiang 于 2006/7/29 8:41:00 發布:
謝謝大家! 謝謝大家!謝謝大家的支持!我一定會更加努力!! |
|
| 11樓: | >>參與討論 |
| 作者: jeckboy 于 2006/7/29 11:15:00 發布:
看了樓主的描述,忍不住補充幾點 我剛調試好2292,遇到的問題沒有樓主的多,但也嘗到苦頭,而要是提前關注以下幾點,本來可以不吃這苦頭的(有些在周立功的中文手冊里講到,有些沒有講明): 苦頭1:P0.14(RTCK)請一定加上拉(10k-20k都行,不要用4.7K,因為JTAG仿真器上用的4.7K,電平不可靠),否則使用JTAG調試沒問題,但是脫離JTAG程序無法正常啟動運行; 苦頭2:SDA、SCL為開漏輸出,必須上拉,否則這兩個管腳作為IO使用沒有問題,作為I2C就不能正常工作; 苦頭3:兩路SPI,如果需要正確使用SPI主機功能,則SSEL0/SSEL1都必須上拉,且應保持空閑而不能再用作IO口,否則CPU作為SPI通信主機功能無法正常使用;(當然,如果只需要用到一路SPI,則只要對應的SSEL上拉即可,不是說任何時候兩個都要同時上拉的;)作為普通IO口使用則沒有任何限制; 苦頭4:CPU復位信號TRST最好選用專用uP芯片,不要用阻容搭,否則復位脈寬不夠CPU什么功能都無法執行,連晶振都不起振; 苦頭5:P0口沒有內部上拉,而P1-P3口均有內部上拉,所以P0作為信號輸入腳時必須外加上拉(20k),確保電路可靠工作; 苦頭6:正是因為P0口沒有內部上拉,所以EINT0-3作為中斷輸入時必須上拉,否則極易受干擾; 寫了這么多,不要嫌羅嗦,否則下次不寫了。我做板之前摸索周立功的開發板好久,還讓周立功的技術支持過來參考了一下,結果還是上述地方沒有注意導致我要再做一版。特貢獻出來與兄弟們共勉,希望大家不要在這些地方被磕到^_^ |
|
| 12樓: | >>參與討論 |
| 作者: computer00 于 2006/7/29 12:28:00 發布:
苦頭6理解錯誤。 |
|
| 13樓: | >>參與討論 |
| 作者: hotpower 于 2006/7/29 12:56:00 發布:
苦頭6應該是對的~~~P0輸入應該都上拉~~~ |
|
| 14樓: | >>參與討論 |
| 作者: win2000_li 于 2006/7/29 13:03:00 發布:
頂一個,學習學習再學習!!!!! |
|
| 15樓: | >>參與討論 |
| 作者: hotpower 于 2006/7/29 13:10:00 發布:
對苦頭3有疑義~~~SPI不能用SSEL作為從機的CS信號??? 有點暈~~~ |
|
| 16樓: | >>參與討論 |
| 作者: computer00 于 2006/7/29 13:13:00 發布:
關于苦頭6,如果是用一個244或者245去驅動P0,也需要加上拉嗎? 抗干擾能力弱的原因不在于輸入口阻抗高或者沒上拉,而在于你提供信號的設備的高電平驅動能力弱 * - 本貼最后修改時間:2006-7-29 13:18:56 修改者:computer00 |
|
| 17樓: | >>參與討論 |
| 作者: hotpower 于 2006/7/29 13:23:00 發布:
我暈倒~~~驅動肯定不必上拉了---圖騰柱取代了上拉 暈倒了~~~苦頭集里都說的是直驅呀~~~ |
|
| 18樓: | >>參與討論 |
| 作者: computer00 于 2006/7/29 13:36:00 發布:
直驅是什么意思呀?總之我認為不能把事物本末倒置了, 明明要拉的是輸出,卻要說成輸入上拉,有誤導人(尤其是新人)之嫌疑~~~~~~~ |
|
| 19樓: | >>參與討論 |
| 作者: hotpower 于 2006/7/29 13:38:00 發布:
今天00暈了~~~轉載苦頭6原文 轉載苦頭6原文: 苦頭6:正是因為P0口沒有內部上拉,所以EINT0-3作為中斷輸入時必須上拉,否則極易受干擾; |
|
| 20樓: | >>參與討論 |
| 作者: computer00 于 2006/7/29 13:51:00 發布:
沒有內部上拉,做為中斷輸入時就一定要接上拉電阻的嗎? 那我的中斷申請源是74HC245,接到P0上,還得要接個上拉電阻上去?豈不多此一舉? |
|
| 21樓: | >>參與討論 |
| 作者: hotpower 于 2006/7/29 13:54:00 發布:
哈哈~~~直驅---本來想寫四輪驅動~~~ 菜農對上拉菜的看法: 作為輸入方,只要輸出方能夠提供可靠穩定的高低電平以滿足輸入方,則肯定不必上拉什么電阻. 假定考慮產品的自檢功能,有時也是要上拉的,因為允許輸出方離開系統. 即使輸出有時也需要加上拉電阻的,一般為加大驅動能力. 對于P0的一個原則就是先想到加上拉電阻,然后再根據實際情況判斷是否加上拉. 對于產品可能加上拉后還要加小電容甚至還要軟件濾波... 產品和書上學到的還是有差距的,理論只是基礎,實踐才是真理~~~ |
|
| 22樓: | >>參與討論 |
| 作者: computer00 于 2006/7/29 13:58:00 發布:
哈哈~~~不知道hotpower大叔會不會在地址線上也加上上拉…… 因為一般情況下,RAM的地址線輸入是高阻抗,沒有內部上拉電阻的……………… |
|
| 23樓: | >>參與討論 |
| 作者: hq_y 于 2006/7/29 14:00:00 發布:
同意hotpower的這話: 對于P0的一個原則就是先想到加上拉電阻,然后再根據實際情況判斷是否加上拉. 俺在設計的時候都是加了再說;然后用不用再判斷;管它呢; 不過現在很少使用總線擴展了;最近的一次是使用SJA1000; |
|
| 24樓: | >>參與討論 |
| 作者: hotpower 于 2006/7/29 14:05:00 發布:
哈哈~~~這個讓你說著了~~~ RAM的地址線輸入是高阻抗,但存取數據即采樣時刻,地址線早已電平穩定,故不需上拉~~~ DSP再快,它也要先送地址后取數據~~~不滿足外圍芯片的時序要求,讀到的數據估計就00敢用了~~~ 反正我不敢用~~~我寧愿睡上一覺再取出數據~~~ 這就和我們農民種菜一樣,西紅柿不熟肯定是酸的~~~ |
|
| 25樓: | >>參與討論 |
| 作者: computer00 于 2006/7/29 14:21:00 發布:
那就是了嘛,很少見在地址線上也加上拉的(除非驅動能力不夠) 所以,P0作為中斷輸入使用時(其它所有輸入口都如此),只有當外部驅動器高電平驅動能力不夠或者沒有時,才需要加上拉電阻,而并非做為中斷輸入就得加上電阻。 |
|
| 26樓: | >>參與討論 |
| 作者: hotpower 于 2006/7/29 14:27:00 發布:
不過見到中斷輸入的第1感覺就是加上拉電阻~~~ 當然要根據實際需要而定~~~不多加了總沒錯~~~ |
|
| 27樓: | >>參與討論 |
| 作者: computer00 于 2006/7/29 14:45:00 發布:
我就沒這種沖動……我會看看是誰來驅動它的,然后再判斷是否要加 |
|
| 28樓: | >>參與討論 |
| 作者: mountain25 于 2006/7/30 10:38:00 發布:
有關JTAG 請問 :JTAG 模塊設計中, 15腳 nRST這個腳是否可以懸空, 不進行連接? |
|
| 29樓: | >>參與討論 |
| 作者: mountain25 于 2006/7/30 10:42:00 發布:
有關JTAG 請問: JTAG的 15腳 nRST 這個腳是否可以懸空,不進行連接? |
|
| 30樓: | >>參與討論 |
| 作者: luzhenshan 于 2006/7/30 14:12:00 發布:
回復主題:LPC2210調試成功愿把心得與大家分享 我頂 |
|
| 31樓: | >>參與討論 |
| 作者: mahuaqiang 于 2006/7/31 10:52:00 發布:
2位高手都有道理 首先2位說的都是對的!!!作者所說的苦頭6是自己在調試2292時候“實踐所得感受”,因為作者自己沒有用245等芯片而是“直接用IO口”的,所以“正是因為P0口沒有內部上拉,所以EINT0-3作為中斷輸入時必須上拉,否則極易受干擾”,目的是為了大家注意,但此問題的“本質”確是因為“驅動能力”引起的,正如00所說“申請源是74HC245,接到P0上,就不需要要接個上拉電阻了”,其實是245“間接”增加了驅動能力!!是“驅動能力”惹的禍!!呵呵! |
|
| 32樓: | >>參與討論 |
| 作者: mahuaqiang 于 2006/7/31 14:29:00 發布:
回答mountain25 有關JTAG JTAG 模塊設計中,15腳nRST這個腳是“可以懸空”,但最好和2210的135腳復位腳連接,保證JTAG“每次都能”正常運行。 |
|
| 33樓: | >>參與討論 |
| 作者: kion 于 2006/8/1 9:11:00 發布:
謝謝分享,我將會在后面主意這些事情 |
|
| 34樓: | >>參與討論 |
| 作者: pengdeyou 于 2006/8/3 8:46:00 發布:
不錯 加油! 樓主的PCB是找廠家做的還是自己做的? 找廠商的話,做得少了人家給做嗎? 怎么算價錢的? QQ:63314398 |
|
| 35樓: | >>參與討論 |
| 作者: pengdeyou 于 2006/8/3 8:47:00 發布:
不錯! 加油! 樓主的PCB是找廠家做的還是自己做的? 找廠商的話,做得少了人家給做嗎? 怎么算價錢的? |
|
| 36樓: | >>參與討論 |
| 作者: pengdeyou 于 2006/8/3 9:03:00 發布:
不錯~ 加油~ 樓主的板子是自己做的還是找廠商做的? 找廠商做的話做得少了人家給做嗎? 多交流 QQ:63314398 |
|
| 37樓: | >>參與討論 |
| 作者: mahuaqiang 于 2006/8/5 8:35:00 發布:
聽說H-JTAG也可以仿真 聽說H-JTAG也可以仿真、且很好用!不知道是怎么東東!有知道的就給個原理圖、我也照著做一個!! |
|
| 38樓: | >>參與討論 |
| 作者: aaaacookie 于 2006/8/5 10:26:00 發布:
咱們的論壇很好,各位都很辛苦 在這里可以學到很多東西 |
|
| 39樓: | >>參與討論 |
| 作者: penisky 于 2006/8/6 21:52:00 發布:
道理越辯越明 向各位前輩學習! |
|
| 40樓: | >>參與討論 |
| 作者: yany 于 2006/8/8 15:52:00 發布:
re hoho 一般好像都是見中斷先拉再說 h-jtag的全部東西,lz可到原創者的blog上下載到的 非常之easy |
|
| 41樓: | >>參與討論 |
| 作者: mahuaqiang 于 2006/8/16 11:17:00 發布:
最近做基于UCOS的程序 最近做基于UCOS的程序,發現對我們搞硬件的人來說軟件比硬件更"重要"!! |
|
|
|
Copyright © 1998-2006 www.qxvs.cn 浙ICP證030469號 |