最新免费av在线观看,亚洲综合一区成人在线,中文字幕精品无码一区二区三区,中文人妻av高清一区二区,中文字幕乱偷无码av先锋

登錄 免費(fèi)注冊(cè) 首頁(yè) | 行業(yè)黑名單 | 幫助
維庫(kù)電子市場(chǎng)網(wǎng)
技術(shù)交流 | 電路欣賞 | 工控天地 | 數(shù)字廣電 | 通信技術(shù) | 電源技術(shù) | 測(cè)控之家 | EMC技術(shù) | ARM技術(shù) | EDA技術(shù) | PCB技術(shù) | 嵌入式系統(tǒng)
驅(qū)動(dòng)編程 | 集成電路 | 器件替換 | 模擬技術(shù) | 新手園地 | 單 片 機(jī) | DSP技術(shù) | MCU技術(shù) | IC 設(shè)計(jì) | IC 產(chǎn)業(yè) | CAN-bus/DeviceNe

求教ST工程師:STR710與NAND512W3A的接口時(shí)序問(wèn)題

作者:wxhwjf 欄目:MCU技術(shù)
求教ST工程師:STR710與NAND512W3A的接口時(shí)序問(wèn)題
ST工程師: 我在項(xiàng)目中遇到一個(gè)問(wèn)題,設(shè)計(jì)中參考ST公司的資料AN2287采用一片STR710F和一片NAND FLASHNAND512W3A)連接,他們之間的接口如下圖。這里我將FLASH的ALE、CLE、WP、R/B 全部連接到STR710的地址線(xiàn)上,同時(shí)在程序中將這些地址線(xiàn)做初始化時(shí)按照復(fù)用功能(也就是做地址線(xiàn))定義: EMI_Config(3,EMI_ENABLE | EMI_WAITSTATE(3) | EMI_SIZE_8); GPIO_Config(GPIO2,0x0008,GPIO_AF_PP); //config P2.3 as NANF_/CS GPIO_Config(GPIO2,0x0010,GPIO_AF_PP); //config P2.4 as NANF_/WP GPIO_Config(GPIO2,0x0020,GPIO_AF_PP); //config P2.5 as NANF_CLE GPIO_Config(GPIO2,0x0040,GPIO_AF_PP); //config P2.6 as NANF_ALE GPIO_Config(GPIO2,0x0080,GPIO_IN_TRI_CMOS); //config P2.7 as NANF_R/B 這樣對(duì)NAND FLASH的操作就完全是對(duì)相應(yīng)地址的讀寫(xiě)操作了。但這里發(fā)現(xiàn)一個(gè)問(wèn)題,就是在FLASH的芯片資料中說(shuō)明,當(dāng)寫(xiě)入命令或地址時(shí),CLE和ALE(對(duì)應(yīng)MCU的地址線(xiàn))在寫(xiě)信號(hào)WE的上升沿鎖存時(shí)保持時(shí)間至少應(yīng)達(dá)到10ns,而MCU的芯片說(shuō)明中寫(xiě)信號(hào)WE發(fā)出之后,地址線(xiàn)在WE的上升沿后的保持時(shí)間只有3ns,這樣一來(lái)他們之間的時(shí)序就不匹配了。用示波器測(cè)試結(jié)果也是3ns。這是不是說(shuō)他們之間接口時(shí)一定要把這幾條線(xiàn)要按照I/O口的方式使用,而不能完全作為地址線(xiàn)操作?另外我參考的ST資料AN2287就是講這兩者之間如何接口的,給出的代碼我看了,發(fā)現(xiàn)初始化時(shí)有的也是按照I/O口的方式,而有的是按照地址線(xiàn)初始化。完全按I/O口線(xiàn)控制是沒(méi)問(wèn)題的,但速度慢,我現(xiàn)在就想改成地址總線(xiàn)映射控制的方式來(lái)提高速度,同時(shí)不必再加其他的膠合邏輯電路。請(qǐng)教各位看能否可行。謝謝! http://h:ttt.jpg/

2樓: >>參與討論
wxhwjf
求教ST工程師時(shí)序問(wèn)題(重發(fā)一次,剛才圖沒(méi)有帖上)

ST工程師:
        我在項(xiàng)目中遇到一個(gè)問(wèn)題,設(shè)計(jì)中參考ST公司的資料AN2287采用一片STR710F和一片NAND FLASHNAND512W3A)連接,他們之間的接口如下圖。這里我將FLASH的ALE、CLE、WP、R/B 全部連接到STR710的地址線(xiàn)上,同時(shí)在程序中將這些地址線(xiàn)做初始化時(shí)按照復(fù)用功能(也就是做地址線(xiàn))定義:
EMI_Config(3,EMI_ENABLE | EMI_WAITSTATE(3) | EMI_SIZE_8);
GPIO_Config(GPIO2,0x0008,GPIO_AF_PP);         //config P2.3 as NANF_/CS
GPIO_Config(GPIO2,0x0010,GPIO_AF_PP);        //config P2.4 as NANF_/WP
GPIO_Config(GPIO2,0x0020,GPIO_AF_PP);        //config P2.5 as NANF_CLE
GPIO_Config(GPIO2,0x0040,GPIO_AF_PP);        //config P2.6 as NANF_ALE
GPIO_Config(GPIO2,0x0080,GPIO_IN_TRI_CMOS);         //config P2.7 as NANF_R/B
        這樣對(duì)NAND FLASH的操作就完全是對(duì)相應(yīng)地址的讀寫(xiě)操作了。但這里發(fā)現(xiàn)一個(gè)問(wèn)題,就是在FLASH的芯片資料中說(shuō)明,當(dāng)寫(xiě)入命令或地址時(shí),CLE和ALE(對(duì)應(yīng)MCU的地址線(xiàn))在寫(xiě)信號(hào)WE的上升沿鎖存時(shí)保持時(shí)間至少應(yīng)達(dá)到10ns,而MCU的芯片說(shuō)明中寫(xiě)信號(hào)WE發(fā)出之后,地址線(xiàn)在WE的上升沿后的保持時(shí)間只有3ns,這樣一來(lái)他們之間的時(shí)序就不匹配了。用示波器測(cè)試結(jié)果也是3ns。這是不是說(shuō)他們之間接口時(shí)一定要把這幾條線(xiàn)要按照I/O口的方式使用,而不能完全作為地址線(xiàn)操作?另外我參考的ST資料AN2287就是講這兩者之間如何接口的,給出的代碼我看了,發(fā)現(xiàn)初始化時(shí)有的也是按照I/O口的方式,而有的是按照地址線(xiàn)初始化。完全按I/O口線(xiàn)控制是沒(méi)問(wèn)題的,但速度慢,我現(xiàn)在就想改成地址總線(xiàn)映射控制的方式來(lái)提高速度,同時(shí)不必再加其他的膠合邏輯電路。請(qǐng)教各位看能否可行。謝謝!

h:ttt.jpg

3樓: >>參與討論
香水城
哈哈,圖還是沒(méi)有貼上來(lái)。明天上班后會(huì)有人幫你解答問(wèn)題的。
初步地看,如果地址線(xiàn)的保持時(shí)間不夠的話(huà),CLE和ALE應(yīng)由I/O口的方式控制,這樣對(duì)速度的影響應(yīng)該不會(huì)有太大的影響。CE必須由I/O口的方式控制,以防有中斷時(shí)CE發(fā)生變化。

以讀一個(gè)512字節(jié)的頁(yè)為例,應(yīng)有如下操作:
CE=0
CLE=1,ALE=0
寫(xiě)命令00H
CLE=0,ALE=1
寫(xiě)地址字節(jié)1
寫(xiě)地址字節(jié)2
寫(xiě)地址字節(jié)3
寫(xiě)地址字節(jié)4
寫(xiě)地址字節(jié)5
CLE=0,ALE=0
while (R/B == Low); // 等候R/B變?yōu)镽eady
讀512個(gè)數(shù)據(jù)字節(jié)
CE=1


上述例子中,標(biāo)為紅色的操作應(yīng)是I/O操作,可以看到這三行在整個(gè)頁(yè)讀出的操作中所占比例很小。

4樓: >>參與討論
wxhwjf
謝謝香水城,我知道了。
 
5樓: >>參與討論
lut1lut
STR71和NAND512W3A的接口時(shí)序

最好NAND512W3A的片選也用STR71的EMI上的片選信號(hào)。
EMI上的CS和R或者W信號(hào)的時(shí)序符合FLASH上的片選和讀寫(xiě)使能信號(hào)的要求。
(1)FLASH上的tELWL,即使能(片選)信號(hào)拉低,到讀寫(xiě)信號(hào)拉低的時(shí)間間隔要求為最小可以是10ns(當(dāng)然是前者先被拉低);而STR7的EMI上片選信號(hào)與讀寫(xiě)使能信號(hào)是同時(shí)拉低的。符合要求
(2)FLASH上的tWHEH,即讀寫(xiě)信號(hào)跳高后,片選信號(hào)還應(yīng)該保持低的時(shí)間要求為10ns;而STR7的EMI方面二者的間隔為最小是20ns,最大是22.5ns。 也完全符合要求。

這樣做的好處是:若是用IO口控制FLASH的片選。若是先選中了該FLASH,這個(gè)時(shí)候來(lái)了個(gè)中斷,導(dǎo)致對(duì)EMI其它bank上掛的外部DEVICE的操作。那么數(shù)據(jù)總線(xiàn)上的信息就會(huì)同樣影響到該IO口控制的FLASH。而使用EMI上的片選信號(hào)則可以避免這個(gè)問(wèn)題。

6樓: >>參與討論
kingor_888
我也剛看,明天自己試試先
 
7樓: >>參與討論
kingor_888
st有ecc的資料嗎?在其an上找不早。
謝謝!

8樓: >>參與討論
香水城
借你一個(gè)ECC的說(shuō)明,用完了記得還回來(lái)


• ECC scheme
In the case of the ECC scheme adopted for this Format Specification, 22 bits of ECC (Error
Correction Code) are added for every 256 bytes of the Storing area. ECC Field-1 and ECC
Field-2 are used for Storing Area-1 and Storing Area-2, respectively.

The ECC scheme is capable of SINGLE-bit correction and 2-bit random-error detection. ECCs
are generated ONLY for data areas and no ECC is generated for page-data redundant areas
containing ECCs. This is because the data in the page-data redundant area is duplicated for
reliability and this duplication (redundancy) provides a means of checking the integrity of the
data. For ECC calculations, 256 bytes are handled in the form of 2048-bit serial data. In the
event of an error, the error-correction feature can detect the bit location of the error that has
occurred based on the results of a parity check and correct the data.

• Definition of the Location Addresses of 2048-Bit Serial Data
256 bytes are arranged in a serial-data format or a SINGLE stream of bits.
bit 7bit 6------------bit 1bit 0
1st Byte00000000 11100000000 11000000000 00100000000 000
2nd Byte00000001 11100000001 11000000001 00100000001 000
255th Byte11111110 11111111110 11011111110 00111111110 000
256th Byte11111111 11111111111 11011111111 00111111111 000


In the above diagram, the top row represents the first byte input and the bottom row
represents the 256th byte input. In other words, Bit 0 of the first byte becomes the first bit
(whose address is 00000000 000) of the 2048-bit stream while bit 7 of the 256th byte becomes
the 2048th bit (address = 11111111 111) of the 2048-bit stream.

• Generation of Parity Data
There are a total of 22 bits of parity data (6 bits for column parity and 16 bits for LINE parity)
as follows: CP0, CP1, CP2, CP3, CP4, CP5, LP00, LP01, LP02, LP03, ..., LP14, and LP15. The parity data that have been generated are stored in the page-data redundant area in the order
shown below:

ECC Data Arrangement[TR][TR][TR]
bit7bit6bit5bit4bit3bit2bit1bit0256+8 Bytes/Page512+16 Bytes/Page
LP07LP06LP05LP04LP03LP02LP01LP00256, 261 Bytes520, 525 Bytes
LP15LP14LP13LP12LP11LP10LP09LP08257, 262 Bytes521, 526Bytes
CP5CP4CP3CP2CP1CP0“1”“1”258, 263 Bytes522, 527Bytes


LINE parity (LP) and column parity (CP) represent 1024-bit odd parity. Each parity data
satisfies the corresponding condition shown below:

LP00 = D (*******0 , ***)  CP0 = D (******** , **0)
LP01 = D (*******1 , ***)  CP1 = D (******** , **1)
LP02 = D (******0* , ***)  CP2 = D (******** , *0*)
LP03 = D (******1* , ***)  CP3 = D (******** , *1*)
LP04 = D (*****0** , ***)  CP4 = D (******** , 0**)
LP05 = D (*****1** , ***)  CP5 = D (******** , 1**)
LP06 = D (****0*** , ***)
LP07 = D (****1*** , ***)  Where * represents “0” or “1”.
LP08 = D (***0**** , ***)
LP09 = D (***1**** , ***)
LP10 = D (**0***** , ***)
LP11 = D (**1***** , ***)
LP12 = D (*0****** , ***)
LP13 = D (*1****** , ***)
LP14 = D (0******* , ***)
LP15 = D (1******* , ***)

9樓: >>參與討論
starm
Re: 使用EMI上的片選信號(hào)則可以避免這個(gè)問(wèn)題
能夠給出NAND FLASH 和 STR710 具體的連接示意圖?
是否圖片中紅色方框信號(hào)不采用gpio模式, 而是使用
emi模式自動(dòng)控制?

10樓: >>參與討論
lut1lut
Re starm
嗯,我現(xiàn)在就是把ALE和CLE兩根NAND FLASH上的信號(hào)線(xiàn)由STR71x的GPIO控制的;NAND FLASH的片選信號(hào)仍然由STR71x的CS.3控制的。(我是掛在EMI的bank 3上的)其余連接同上。

11樓: >>參與討論
yzhu
提供一篇參考文章
文中第一種方式接可行。 http://www.cirrus.com/en/pubs/appNote/AN266REV1.pdf

參與討論
昵稱(chēng):
討論內(nèi)容:
 
 
相關(guān)帖子
STR91X_F外部中斷怎么設(shè)置?用P60做中斷
DVSTR710B開(kāi)發(fā)板使用的FAQ
誰(shuí)有STR912的。拢樱校膳cM25P10的測(cè)試程序
STR91X定時(shí)器
請(qǐng)教各位幾個(gè)問(wèn)題?
免費(fèi)注冊(cè)為維庫(kù)電子開(kāi)發(fā)網(wǎng)會(huì)員,參與電子工程師社區(qū)討論,點(diǎn)此進(jìn)入


Copyright © 1998-2006 www.udpf.com.cn 浙ICP證030469號(hào)