|
|||||||||||
| 技術交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術 | 電源技術 | 測控之家 | EMC技術 | ARM技術 | EDA技術 | PCB技術 | 嵌入式系統(tǒng) 驅(qū)動編程 | 集成電路 | 器件替換 | 模擬技術 | 新手園地 | 單 片 機 | DSP技術 | MCU技術 | IC 設計 | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe |
AD芯片一次送出5BYTE,2103通過SPI只收到1個字節(jié),怎么辦? |
| 作者:yyf196 欄目:ARM技術 |
2103通過SPI從AD芯片指定的地址讀數(shù)據(jù),2103發(fā)送地址,AD芯片返回40位共5個字節(jié),2103連讀5次,但只同是最高字節(jié),后面的4個字節(jié)丟了, |
| 2樓: | >>參與討論 |
| 作者: yyf196 于 2007/1/17 10:08:00 發(fā)布:
續(xù) 在用SPI0之前,用I/O扣模擬SPI能把5個字節(jié)一次全讀上來,為什么SPI數(shù)據(jù)寄存器不行呢? |
|
| 3樓: | >>參與討論 |
| 作者: lcyong 于 2007/1/17 11:11:00 發(fā)布:
應該是時序問題 不知道你AD的讀寫時序是什么樣的,但估計問題是出在AD讀寫時序和SPI讀寫時序不批配上.比如,AD需要連續(xù)讀5個字節(jié),AD時序要求是CS使能端一直為低,還是讀一個字節(jié),CS都要有變化?SPI讀的時候,CPU要注意控制AD的使能端時序. |
|
| 4樓: | >>參與討論 |
| 作者: yyf196 于 2007/1/17 11:51:00 發(fā)布:
tanks lcyong Data is shifted into the ADE7759 at the DIN LOGIC input on the falling edge of SCLK. Data is shifted out of the ADE7759 at the DOUT LOGIC OUTPUT on a rising edge of SCLK.The CS input should be driven low for the entire data transfer operation. |
|
| 5樓: | >>參與討論 |
| 作者: yyf196 于 2007/1/17 11:56:00 發(fā)布:
tanks lcyong AD的使能端時序:a falling edge on CS, the ADE7759 is placed in communications mode |
|
| 6樓: | >>參與討論 |
| 作者: william47 于 2007/1/17 19:32:00 發(fā)布:
SPI不停地發(fā)0xff就能收到所有的數(shù)據(jù) |
|
| 7樓: | >>參與討論 |
| 作者: yyf196 于 2007/1/18 9:06:00 發(fā)布:
re: thanks william47 如您所述,確可收到數(shù)據(jù),但不正確,。。。 您說的方法是在應和2103SPI上說的:“During a data transfer the MASTER always sends 8 to 16 bit of data to the slave, and the slave always sends a byte of data to the MASTER.” 但ADE775X在上傳數(shù)據(jù)時是一次把5BYTE的數(shù)據(jù)全部轉(zhuǎn)移到SPI口,而不是一BTYE一BYTE傳的原文:“When an ADE7759 register is addressed for a read operation,the entire contents of that register are transferred to the serial PORT.” |
|
|
|
| 免費注冊為維庫電子開發(fā)網(wǎng)會員,參與電子工程師社區(qū)討論,點此進入 |
Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號 |