|
|||||||||||
| 技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
請教SPI通信信號為三角波的奇怪問題 |
| 作者:wikiexe 欄目:單片機(jī) |
芯片:18F4620 編譯器:mcc18 3.0 參考樣板:TPDEM1 DEMO (購于高奇) 測試目標(biāo)板:自行設(shè)計(jì)的18F4620的板子 測試步驟: 1、寫一個SPI的簡短測試程序,功能:通過SPI接口循環(huán)發(fā)送同一個數(shù)據(jù),在發(fā)送過程中,將引腳RC0作為片選控制信號,在發(fā)送數(shù)據(jù)前后分別清0或置1 2、在參考樣板上,通過串并轉(zhuǎn)換后,輸出到數(shù)碼管顯示正常為預(yù)期顯示數(shù)字,通過示波器觀察,SDO、CLK、RC0三個引腳的波形都為清晰的方波,信號上升,下降時間均不超過1ms 3、在我們設(shè)計(jì)的板子上燒入完全沒有修改的程序,在數(shù)碼管上顯示不正常。通過示波器觀察,SDO、CLK、RC0三個引腳的波形均為三角波。 4、當(dāng)我們修改程序,通過RA0來作為片選控制信號,則RA0的輸出為清晰的方波 5、當(dāng)再次修改程序?qū)DO、CLK、RC0都復(fù)用為普通I/O口,延時與SPI時鐘周期相近的時間翻轉(zhuǎn),則都可以輸出清晰的方波 故總結(jié)為: 1、相同的程序,在參考樣板上正常,但是在我們的板子上不正常 2、我們的板子當(dāng)RC3、RC5被復(fù)用為SPI接口,則PORTC都會出現(xiàn)異常,輸出為三角波;復(fù)用為普通I/O口,則又恢復(fù)正常 請各位指點(diǎn)一下這可能是什么原因引起的呀? * - 本貼最后修改時間:2006-9-8 10:28:27 修改者:wikiexe |
| 2樓: | >>參與討論 |
| 作者: Dianhust 于 2006/9/8 10:43:00 發(fā)布:
應(yīng)該是硬件連接的問題 我和LZ一起調(diào)的板子,該問題應(yīng)該為硬件問題。請教哪位大蝦分享一下硬件設(shè)計(jì)經(jīng)驗(yàn):) PORTC的RC0和RC1是復(fù)用TIMER1時鐘的,我們懸空,不知道會不會有影響。接上32K晶振后也不能解決問題。 |
|
| 3樓: | >>參與討論 |
| 作者: systemchip 于 2006/9/8 11:01:00 發(fā)布:
有對比兩個板的硬件上的差別嗎? |
|
| 4樓: | >>參與討論 |
| 作者: Dianhust 于 2006/9/8 11:08:00 發(fā)布:
對比了差別的 購買的開發(fā)板使用SPI通過74HC5950驅(qū)動數(shù)碼管顯示來測試SPI的。我們也是這樣觀察現(xiàn)象的。 我們在自己的開發(fā)板上燒了程序后,也將對應(yīng)的引腳接到74HC5950驅(qū)動數(shù)碼管可是不行。 然后我們就用示波器觀察了SPI對應(yīng)的引腳,觀察結(jié)果在1樓。 現(xiàn)在的差別有, 1、開發(fā)板接了TIMER1的32K晶振,引腳是RC0,RC1。我們另一塊ZIGBEE的開發(fā)板沒有接這個晶振,我們自己也沒接。ZIGBEE的開發(fā)板同樣程序是正常的。 后來我們接上了這個晶振,現(xiàn)象一樣。 2、供電電源,開發(fā)板是18F4620供電5V,我們供電是4.5V。 現(xiàn)在也就發(fā)現(xiàn)這兩個區(qū)別。 |
|
| 5樓: | >>參與討論 |
| 作者: systemchip 于 2006/9/8 11:52:00 發(fā)布:
: TIMER1可以使用外部晶體提供計(jì)數(shù)時鐘,外部時鐘接入口為RC0和RC1,你可以在T1CON寄存器里面使能該振蕩器并選擇其為TIMER1的計(jì)數(shù)時鐘.看看你的程序里面的設(shè)置. 另外SSP模塊的各個通訊引腳的都需要去設(shè)置為相應(yīng)的輸入或輸出,而且各個控制寄存器之間的相應(yīng)控制位需要正確設(shè)置. 關(guān)于硬件上,如果電路同樣,元件同樣,輸出表現(xiàn)不可能會有這么大的區(qū)別. |
|
| 6樓: | >>參與討論 |
| 作者: Dianhust 于 2006/9/8 12:11:00 發(fā)布:
軟件上其實(shí)沒有問題的 我們各項(xiàng)設(shè)置都完全了的,因?yàn)橥粋程序在高奇的開發(fā)板里是可以運(yùn)行的,在ZIGBEE的模塊里也是可以運(yùn)行的。只是下載到我們的開發(fā)板不可以了。 開發(fā)板的串口,I/O,復(fù)位按鍵我們都側(cè)過了沒問題。 現(xiàn)在是SPI的脈沖,片選,時序信號為三角波,而不是方波。是不是外圍去藕電容,上下拉電阻也有講究? |
|
| 7樓: | >>參與討論 |
| 作者: zgl7903 于 2006/9/8 13:42:00 發(fā)布:
去藕電容? SPI加電容,不是三角波才怪 |
|
| 8樓: | >>參與討論 |
| 作者: wikiexe 于 2006/9/8 15:57:00 發(fā)布:
謝謝zg17903,果然是去藕電容的問題! 去掉去藕電容后,問題就解決了 |
|
| 9樓: | >>參與討論 |
| 作者: Dianhust 于 2006/9/8 17:51:00 發(fā)布:
同謝zg17903 如題,同謝。呵呵,問題解決了。 |
|
|
|
| 免費(fèi)注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入 |
Copyright © 1998-2006 m.58mhw.cn 浙ICP證030469號 |