IC卡1604的原理及應(yīng)用如ft1780芯片內(nèi)部結(jié)構(gòu)和特點(diǎn)_第1頁(yè)
IC卡1604的原理及應(yīng)用如ft1780芯片內(nèi)部結(jié)構(gòu)和特點(diǎn)_第2頁(yè)
IC卡1604的原理及應(yīng)用如ft1780芯片內(nèi)部結(jié)構(gòu)和特點(diǎn)_第3頁(yè)
IC卡1604的原理及應(yīng)用如ft1780芯片內(nèi)部結(jié)構(gòu)和特點(diǎn)_第4頁(yè)
IC卡1604的原理及應(yīng)用如ft1780芯片內(nèi)部結(jié)構(gòu)和特點(diǎn)_第5頁(yè)
已閱讀5頁(yè),還剩21頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、IC 卡 1604 的原理及應(yīng)用如 ft1780 芯片內(nèi)部結(jié)構(gòu) 和特點(diǎn)摘 要:本文介紹了目前應(yīng)用較為廣泛的 AT88SC1604 邏輯加密卡的特點(diǎn)和工作原理,同時(shí)給出了通過(guò)單片機(jī)操縱操作 IC 卡的的應(yīng)用實(shí)例及程序。、尸、 亠前言IC卡按結(jié)構(gòu)劃分,可分為儲(chǔ)備器卡和微處理器卡(CPU card)兩 大類(lèi)。邏輯加密卡與一般儲(chǔ)備卡相比,內(nèi)部結(jié)構(gòu)較復(fù)雜,其儲(chǔ)備區(qū)能夠分 成卡片設(shè)置區(qū)和應(yīng)用區(qū)??ㄆO(shè)置區(qū)內(nèi)存放與卡片廠(chǎng)商及發(fā)卡者有關(guān)代碼 和卡片密碼;應(yīng)用區(qū)又能夠按照需要分為不同的分區(qū)。邏輯加密卡的安全 性相對(duì)較高,體現(xiàn)在:卡片設(shè)置主密碼、每個(gè)應(yīng)用分區(qū)具有各自獨(dú)立的操 作密碼。邏輯加密卡要緊操縱作用是:對(duì)數(shù)

2、據(jù)儲(chǔ)備區(qū)開(kāi)放 /關(guān)閉的操縱;對(duì) 數(shù)據(jù)儲(chǔ)備區(qū)讀 /寫(xiě)的操縱;對(duì)數(shù)據(jù)儲(chǔ)備區(qū)擦除操作的操縱以及對(duì)密碼校驗(yàn)和 錯(cuò)誤次數(shù)計(jì)數(shù)及鎖閉功能操縱。AT88SC1604卡的工作原理AT88SC1604是由美國(guó)ATMEL公司設(shè)計(jì)的邏輯加密儲(chǔ)備卡芯片。 它具有 15704位的儲(chǔ)備容量,是目前邏輯加密儲(chǔ)備卡中容量較大的一種產(chǎn) 品芯片。芯片特點(diǎn)(1) AT88SC1604芯片屬于單儲(chǔ)備器多邏輯分區(qū)結(jié)構(gòu)。主儲(chǔ)備器除劃分了特定的標(biāo)志數(shù)據(jù)區(qū)和操縱數(shù)據(jù)區(qū)之外,還將應(yīng)用數(shù)據(jù)區(qū)分成四個(gè)完 全隔離的子區(qū),并在每個(gè)子區(qū)中配備了各自的讀、寫(xiě)操縱標(biāo)志和寫(xiě)入/擦除密碼以及密碼輸入錯(cuò)誤計(jì)數(shù)器等邏輯操縱。(2) 芯片為串行傳輸方式,并滿(mǎn)足 I

3、SO78 1 6-3同步傳輸協(xié)議。(3) 芯片采納低功耗的 CMOS 工藝制造,每字位的讀取時(shí)刻為 s, 寫(xiě)周期為 5ms。(4) 芯片內(nèi)部的儲(chǔ)備單元具有至少 10000次的擦除/改寫(xiě)循環(huán)次數(shù)。 數(shù)據(jù)儲(chǔ)存期為 10 年。芯片儲(chǔ)備分區(qū)結(jié)構(gòu)及定義AT88SC1604 芯片分為制造商代碼區(qū)、 發(fā)行商代碼區(qū)、 用戶(hù)安全密 碼區(qū)、用戶(hù)密碼比較計(jì)數(shù)區(qū)、個(gè)人代碼區(qū)以及四個(gè)應(yīng)用區(qū)。每個(gè)應(yīng)用區(qū)都 由密碼區(qū),密碼比較計(jì)數(shù)區(qū),擦除密碼區(qū)和擦除密碼比較計(jì)數(shù)區(qū)、應(yīng)用數(shù) 據(jù)區(qū)和儲(chǔ)備器測(cè)試區(qū)組成。(1) 制造商代碼區(qū) (FZ) 該區(qū)里記錄的卡芯片生產(chǎn)商的特定信息 (例如 :生產(chǎn)批號(hào)、日期、以 及專(zhuān)門(mén)制定的特點(diǎn)代碼 ),由制

4、造商在芯片出廠(chǎng)前寫(xiě)入。 在操縱本區(qū)的熔絲 (F USHI)沒(méi)有熔斷時(shí),該區(qū)的儲(chǔ)備單元能夠象一般的EEPROM儲(chǔ)備單元一樣進(jìn)行擦除和改寫(xiě)。一旦熔絲熔斷,所寫(xiě)入的 "制造商代碼 "就不可再更換。(2) 發(fā)行商代碼區(qū) (IZ) 該區(qū)用于記錄卡片發(fā)行商的特定信息 (例如:發(fā)行批號(hào)、日期、地區(qū)范疇編號(hào)以及特定用戶(hù)編號(hào)等特點(diǎn)代碼 )。當(dāng)操縱本區(qū)的熔絲沒(méi)有熔斷時(shí), 該區(qū)的儲(chǔ)備單元內(nèi)容能夠自由的擦除或改寫(xiě)。在個(gè)人化處理過(guò)程完成之后, 操縱該區(qū)的熔絲(FUSH2)熔斷,即可將注入的“發(fā)行商代碼”完全固化。這 一代碼也是識(shí)不卡片的真?zhèn)危瑓^(qū)分卡片應(yīng)用類(lèi)不的重要標(biāo)識(shí)。(3) 個(gè)人代碼區(qū) (CPZ)

5、該區(qū)用于存放個(gè)人身份標(biāo)識(shí)數(shù)據(jù)。該區(qū)使用上受芯片的“用戶(hù)密 碼”的愛(ài)護(hù)。當(dāng)“用戶(hù)密碼”比較成功,該區(qū)可讀可寫(xiě)可擦除。 “用戶(hù)密碼” 比較不成功,該區(qū)只能讀而不能寫(xiě)入和擦除。(4) 用戶(hù)密碼區(qū) (SC)那個(gè)密碼區(qū)是整個(gè)儲(chǔ)備器的“總操縱開(kāi)關(guān)” 。使用前,由授權(quán)持卡 人預(yù)先輸入的一個(gè)安全代碼作為“參照字”儲(chǔ)存在那個(gè)儲(chǔ)備區(qū)里。使用時(shí), 必須輸入一個(gè) “校驗(yàn)密碼”。芯片將輸入的 “校驗(yàn)密碼” 與內(nèi)部?jī)?chǔ)備器的 “參 照字”一一比較。如果比較結(jié)果一致, IC 卡將開(kāi)放整個(gè)芯片儲(chǔ)存器 (包括各 分區(qū)的操縱密碼和各應(yīng)用數(shù)據(jù)區(qū) )。各區(qū)的“安全密碼”區(qū) SCn(n=I, 2, 3, 4)與 SC 的作用是完全類(lèi)似的

6、。關(guān)于各分區(qū)的密碼區(qū)SCn (n= 1, 2, 3, 4)來(lái)講,其比較操作要受 到對(duì)應(yīng)“應(yīng)用區(qū)密碼”比較計(jì)數(shù)器(Sn AC)的計(jì)數(shù)操縱。當(dāng)連續(xù)8次輸入密 碼錯(cuò)誤, SCn 將被鎖死。(5) 密碼比較計(jì)數(shù)區(qū) (SCAC) 該區(qū)對(duì)連續(xù)輸入的錯(cuò)誤密碼的次數(shù)進(jìn)行累計(jì)。當(dāng)連續(xù) 8 次不正確 的比較操作之后,芯片將被鎖死。芯片被鎖死之后,將拒絕任何的擦除、 寫(xiě)入和比較的操作命令。該區(qū)是 8 位長(zhǎng),按位寫(xiě)入方式操作。在芯片初始化時(shí)是全“ 1”狀 態(tài),即讀出值為“ FFH”。在每次比較輸入的密碼時(shí),先按從高位到低位的 順序找第一個(gè)為“ 1”的位,將此位寫(xiě)“ 0”,然后將新輸入的“校驗(yàn)密碼” 與原儲(chǔ)備在SC區(qū)的

7、“參照字”進(jìn)行比較。比較操作本身由芯片內(nèi)部自行完 成,而比較結(jié)果則通過(guò)置 SV標(biāo)志來(lái)判不,即比較成功時(shí)SV被置“ 1”。比 較不成功,SV保持原先的“ 0”狀態(tài)。在連續(xù)8次比較錯(cuò)誤過(guò)程中每次比 較操作之后計(jì)數(shù)器的計(jì)數(shù)值分不為“ 7FH”、“3FH”、“1FH”、“0FH”、“07 H”、“03H”、“01H”、“00H”。當(dāng)計(jì)數(shù)器為“ 00H”后,后續(xù)的比較操作命 令由于無(wú)法在“ SCAC”區(qū)中找到一個(gè)為“ T的位,因而芯片拒絕連續(xù)執(zhí) 行比較操作。SnAC(n= 1, 2, 3, 4)的作用與SCAC是類(lèi)似的。操作操縱也完全 一樣。只是SCAC是限制對(duì)SC區(qū)的比較操作。而SnAC則限制對(duì)SCn

8、區(qū) 的比較操作。SCAC的操縱級(jí)不最高。當(dāng)SCAC為“00H”后,芯片內(nèi)部封 鎖了對(duì)SC區(qū)的比較操作,從而使對(duì) SCn的比較也被禁止。如果SCAC為 非“ 00H”值,在對(duì)SC區(qū)的比較密碼操作成功之后,SCn能否進(jìn)行比較操 作就由SnAC區(qū)的狀態(tài)值來(lái)決定。SnAC區(qū)在連續(xù)8次比較輸入過(guò)程中,每 次比較操作之后計(jì)數(shù)器的計(jì)數(shù)值與 SCAC的8個(gè)值一樣。(即分不為“7FH”、 “3FH”、“ 1FH”、“0FH”、“07H”、“03H”、“OIH”、“00H”)當(dāng) SnAC 為“0 0H”時(shí),則“應(yīng)用n區(qū)”將被鎖死。(6) 擦除密碼區(qū)(EZn ,n= l.2,3,4)該區(qū)用于儲(chǔ)備擦除應(yīng)用區(qū)操作的操縱

9、密碼。這些密碼一樣由發(fā)行 商使用。在個(gè)人化處理時(shí)輸入的最后一組“擦除密碼” ,在芯片熔絲 FUSE2 熔斷之后將使“擦除密碼”儲(chǔ)存在該區(qū)內(nèi)。該區(qū)不再能讀出、寫(xiě)入和擦除, 只能進(jìn)行比較操作。在使用過(guò)程中如需對(duì)應(yīng)用區(qū)進(jìn)行擦除操作,都必須第 一對(duì)相應(yīng)的 EZ 區(qū)輸送一個(gè)“擦除密碼”與之比較,在“擦除密碼比較計(jì)數(shù)器”不為“ OOH”的情形下,如果相比較的兩代碼完全一致,貝卩相應(yīng)的應(yīng)用 區(qū)的單元承諾擦除,否則將禁止執(zhí)行擦除操作。(7) 擦除密碼比較計(jì)數(shù)區(qū)(EnAC ,n=1, 2,3, 4)擦除密碼比較計(jì)數(shù)區(qū)的作用與 SCAC的作用相類(lèi)似。它對(duì)各應(yīng)用 區(qū)擦除密碼連續(xù)輸入錯(cuò)誤的次數(shù)進(jìn)行累計(jì)。最多連續(xù)8次不

10、正確的密碼比較之后,該區(qū)所操縱的應(yīng)用區(qū)的擦除操作即被鎖死,從而導(dǎo)致該應(yīng)用區(qū)有 可能成為只讀和承諾單次寫(xiě)入的狀態(tài)。(8) 應(yīng)用數(shù)據(jù)區(qū)(AZn , n= 1, 2, 3, 4)該區(qū)要緊給用戶(hù)使用。用于儲(chǔ)備系統(tǒng)的有關(guān)數(shù)據(jù)記錄和卡片標(biāo)識(shí) 等信息。應(yīng)用數(shù)據(jù)區(qū)的寫(xiě)入與讀出分不由該區(qū)的前兩位Pn和Rn以及SV標(biāo)志的狀態(tài)操縱,擦除操作則由該區(qū)的擦除密碼操縱。AT88SC1604設(shè)計(jì)了 四個(gè)完全隔離的分區(qū),其中1至3分區(qū)的單元容量分不是4K位、第4分區(qū) 的單元容量為3.6K位。(9) 儲(chǔ)備區(qū)測(cè)試區(qū)(MTZ)該區(qū)要緊用于芯片生產(chǎn)后對(duì) EEPROM單元陣列進(jìn)行各項(xiàng)性能測(cè)試 該區(qū)不受任何操縱區(qū)狀態(tài)和標(biāo)志狀態(tài)的愛(ài)護(hù),承

11、諾對(duì)那個(gè)區(qū)進(jìn)行讀出、寫(xiě) 人和擦除操作,但不能進(jìn)行比較操作。應(yīng)用實(shí)例基于上述1604芯片的特點(diǎn),在石化系統(tǒng)的加油電路設(shè)計(jì)中,我們利用單片機(jī)芯片89C2051與IC卡電路組成一個(gè)獨(dú)立系統(tǒng),操縱IC卡芯片的各項(xiàng)操作,該系統(tǒng)通過(guò)標(biāo)準(zhǔn)RS232通訊接口,與主操縱板實(shí)現(xiàn)數(shù)據(jù)交換,這種電路設(shè)計(jì)在硬件方面兼容性較好,只要通過(guò)和諧雙方的IC卡通訊協(xié)議,可與任何帶有RS232接口的操縱板或微機(jī)相連接。單片機(jī)芯片89C2051的6個(gè)端口通過(guò)IOC卡座與IC卡相連接,P1.2 口操縱IC卡5V電源的通斷,上電時(shí)單 片機(jī)芯片處于復(fù)位狀態(tài),6個(gè)端口均輸出“1”,IC卡電源處于斷開(kāi)狀態(tài),ICSW為IC卡的檢測(cè)端,當(dāng)IC卡插

12、入后,該端口與地相接,P1.3 口檢測(cè)到IC卡已插入卡座,即接通IC卡電源,IC卡操作完畢后,切斷IC卡電源,并提 示用戶(hù)能夠拔卡。單片機(jī)芯片其他4個(gè)端口在接通IC卡電源后,按照對(duì)卡操作的需要,對(duì)IC卡進(jìn)行復(fù)位,讀卡,校對(duì)密碼,擦卡,寫(xiě)卡等操作。硬件電路芯片的操作模式時(shí)序及設(shè)計(jì)程序AT88SCI604 芯片的操作模式有五種。它們是通過(guò)配 PGM RST、CLK等引腳信號(hào)及內(nèi)部地址計(jì)數(shù)器 (IAC)的狀態(tài)組合來(lái)實(shí)現(xiàn)。(1)芯片復(fù)位操作:AT88SCI604有兩種復(fù)位方式:上電復(fù)位和操縱復(fù)位。上電復(fù)位:上電復(fù)位是當(dāng)芯片加電時(shí)的最初狀態(tài)。上電復(fù)位屬于芯片內(nèi)部復(fù)位。它將使芯片內(nèi)部所有的隱含標(biāo)志復(fù)位到&

13、quot;0"狀態(tài)。并使地址計(jì)數(shù)器復(fù)位到 0位。操縱復(fù)位: 當(dāng)CLK為低時(shí),在RST腳上的一個(gè)下降沿將便芯片產(chǎn)生復(fù)位操作。操縱復(fù)位是將地址計(jì)數(shù)器復(fù)位到0注:1)RST為高時(shí)禁止計(jì)數(shù)位,而不阻礙任何內(nèi)部標(biāo)志的狀態(tài)。2 )在CLK端降低之后,延遲一個(gè)"復(fù)位堅(jiān)持時(shí)刻"Trh(min 0.1 s)RST端復(fù)位(下降沿),同時(shí)地址計(jì)數(shù)器清零。地址計(jì)數(shù)器清零后延遲一個(gè)“數(shù)據(jù)復(fù)位有效時(shí)刻” Tdvr ( max 2 s )第0位單元的數(shù)據(jù)被送上I/O線(xiàn)。FWZCX: CLR ICPGM ; 復(fù)位子程序NOPSETB ICRESTNOPSETBICSDANOPCLR ICCLK

14、; 時(shí)鐘端清0NOPCLR ICREST ; 復(fù)位端清 0NOPRET(2)讀出操作: 在進(jìn)行讀出操作時(shí),必須保證使RST腳和PGM腳同時(shí)保持為低。如果對(duì)芯片各密碼操縱區(qū)進(jìn)行讀出操作,只能是在 FUSE2未熔斷且SV標(biāo)志“1”時(shí)才能進(jìn)行。如果對(duì)芯片各標(biāo)識(shí)數(shù)據(jù)區(qū)進(jìn)行讀出操作,除FZ和IZ區(qū)外,需要使SV標(biāo)志置“1”后才能執(zhí)行。如果對(duì)芯片各應(yīng)用數(shù)據(jù)區(qū)進(jìn)行讀出操作,需要在 SV= 1且Rn= 1 (n = 1,2,3,4)狀態(tài)下才能執(zhí)行。注:在CLK的下降沿時(shí),地址計(jì)數(shù)器加1,地址計(jì)數(shù)器當(dāng)前所指的地址單元的數(shù)據(jù)被輸岀到I/O線(xiàn)上。因此,在整個(gè)時(shí)鐘周期 Tdk期間,包含了地址加 1 (INC )和讀出

15、(REA)兩項(xiàng)操作。讀IC數(shù)據(jù)子程序(R2:需讀IC卡字節(jié)數(shù),R0:數(shù)據(jù)區(qū)存放低位首地址)RICDAZ: MOV A,#KXXDZ ; 卡信息地址送 ALCALL SADR ; 尋卡地址RICDA: MOV R3,#08RICDA1: SETB ICSDANOPMOV C,ICSDA ; 位讀到 ARLC ASETB ICCLKNOPCLR ICCLKNOPDJNZ R3,RICDA1MOV R0,A ;8 位數(shù)據(jù)送數(shù)據(jù)區(qū)DEC R0DJNZ R2,RICDARET;尋IC卡位地址子程序(調(diào)用前16進(jìn)制地址送ACC)SADR: LCALL FWZCXMOV B,#08MUL AB ;運(yùn)算位地址

16、:16 進(jìn)制地址*8MOV R4,A ; 低位位地址送 R4MOV R5,B ; 高位位地址送 R5JNZ SADR1 ; 低位地址不為 0轉(zhuǎn) MOV A,R5JZ SADR3DEC R5SADR1: SETB ICREST ;復(fù)位端置 1SETBICSDACLR ICPGMCLR ICCLKCLR ICRESTSADR2: SETB ICCLKSETB ICCLKCLR ICCLKCLR ICCLKDJNZ R4,SADR2MOV A,R5 JZ SADR3 DEC R5 SJMP SADR2 SADR3: RET(3 )比較操作:在進(jìn)行比較操作時(shí),必須保證使RST腳和PGM腳同時(shí)保持為低。

17、比較操作只能對(duì)芯片密碼操縱區(qū)執(zhí)行,且由芯片內(nèi)部來(lái)判定。在FUSE2未熔斷時(shí),只能在 SV=0時(shí),對(duì)SC區(qū)進(jìn)行比較操作,對(duì)其它區(qū)的比較操作均為無(wú)效操作。SV=1時(shí),芯片不做任何比較操作。 在FUSE2熔斷后,只能在SV=0時(shí),對(duì)SC區(qū)進(jìn)行比較操作, 對(duì)其它區(qū)的比較操作均為無(wú)效操作。注:上述芯片密碼比較時(shí)序圖中是假設(shè)密碼計(jì)數(shù)器中前兩位為0,第三位尋到1的處理時(shí)序。有關(guān)芯片SC的時(shí)序關(guān)系如圖25圖所示:從操作(B)到(F),地址計(jì)數(shù)器不變,密碼比較的過(guò)程是:(A) 比較安全密碼/擦除密碼序列(B) 在密碼輸入比較計(jì)數(shù)器中找出一位為“1"的位(C) 在那個(gè)為“1”的單元寫(xiě)“0”(D) 芯片輸

18、出“0”(E) 如果比較成功,在 PGM的上升沿安全密碼/擦除密碼的相應(yīng)標(biāo)志(SV,Sn或En)被置“1”,同時(shí)安全密碼/擦除密碼輸入比較計(jì)數(shù)器(SCAC,SnAC 或 EnAC)被擦除?!?”。(F) 如果擦除成功,相應(yīng)安全密碼 /擦除密碼標(biāo)志被置 “1”,芯片將輸岀“1”,否則芯片輸岀(G) 在CLK的下降沿,地址計(jì)數(shù)器加 1,并輸出下一位的狀態(tài)。比較用戶(hù)密碼子程序(地址0AH,0BH)CPSC: MOV R0,#CMM+2MOV R1,#06MOV R2,#02LCALL MVITIMOV A,#0AHLCALL SADR ; 尋址MOV R0,#06LCALL BJMMRET;比較密碼

19、程序BJMM: CLR ICRESTCLR ICPGMMOV R2,#02BJMM1: MOV A,R0MOV R3,#08BJMM2: RLC AMOV ICSDA,CNOPSETB ICCLKNOPCLR ICCLKNOPDJNZ R3,BJMM2INC R0DJNZ R2,BJMM1MOV R2,#08;查 8 位BJMM4: SETB ICSDANOPMOV C,ICSDAJC BJMM5 ; 是 1 轉(zhuǎn)SETB ICCLK ; 指向下一位NOPCLR ICCLKNOPDJNZ R2,BJMM4LJMP BJMM8 ; 計(jì)數(shù)器為 00,卡鎖死轉(zhuǎn)BJMM5: SETB ICPGMNOPC

20、LR ICSDA ; 寫(xiě) 0NOPSETB ICCLKNOPCLR ICPGMNOPLCALL DELY5CLR ICCLKNOPSETBICSDANOPMOV C,ICSDAJNC BJMM6LJMP BJMM7 ; 未寫(xiě)入0,轉(zhuǎn)出錯(cuò)BJMM6: SETB ICPGMNOPSETB ICSDA ; 寫(xiě) 1(擦除)NOPSETB ICCLKNOPCLR ICPGMNOPLCALL DELY5CLR ICCLKNOPSETBICSDANOPMOV C,ICSDANOPSETB ICCLKJNC BJMM7 ;擦除不成功(密碼錯(cuò))轉(zhuǎn)SETB FGICG1 ; 置已校對(duì)密碼標(biāo)志RETBJMM7: C

21、LR FGICG1 ;建密碼錯(cuò)標(biāo)記RETBJMM8: SETB FGICG2 ;置卡鎖死標(biāo)志RET(4)寫(xiě)入操作:寫(xiě)入操作實(shí)際包含著兩種:當(dāng)寫(xiě)入的數(shù)據(jù)為"0"時(shí),此次操作稱(chēng)為 寫(xiě)入操作"。當(dāng)寫(xiě)入的數(shù)據(jù)為“1”時(shí),此次操作稱(chēng)為 擦除操作”?!皩?xiě)入操作”能夠按位進(jìn)行。但 擦除操作”只能按字節(jié)進(jìn)行。即使操作時(shí)只對(duì)單 獨(dú)一位進(jìn)行擦除,但執(zhí)行的結(jié)果將使這一位所在的字節(jié)的所有8位全部置成“1”對(duì)芯片的任何一個(gè)承諾寫(xiě)入或擦除的區(qū)域,其執(zhí)行寫(xiě)入和擦除的必要條件是芯片的SV標(biāo)志為“1”狀態(tài)。注:在CLK為低的狀態(tài)下,PGM端從“0”到“1”并延時(shí)一段編程建立時(shí)刻”(Tspr)之后,

22、CLK端從“0”到“1”這時(shí)是寫(xiě)入/擦除操作的開(kāi)始),在此刻之前的Tds(數(shù)據(jù)建立時(shí)刻)由外部向I/O線(xiàn)給出寫(xiě)入數(shù)據(jù)。CLK端在 “1”狀態(tài)應(yīng)至少保持5ms(Tchp)之后,CLK端從“1”到“0”(這時(shí)是寫(xiě)入/擦除操作的終止)。應(yīng)專(zhuān)門(mén)注意終止寫(xiě)入操作的CLK端的下降沿并可不能使地址計(jì)數(shù)器加1,而只是將剛寫(xiě)入的數(shù)據(jù)”讀出,以便外部驗(yàn)證剛才的 寫(xiě)入操作”。WICD: MOV A,#KDWDZ ;送擦除卡低位首地址LCALL SADR ; 尋位地址MOV R2,#30 ; 擦除30字節(jié)LCALL CPESC3 ; 擦除MOV R0,#RAMDZ ;CPU 的 RAM 中待寫(xiě)入數(shù)據(jù)地址MOV R2,

23、#30 ; 寫(xiě)入30字節(jié)WICDA: MOV A,R0LCALL WICDAAINC R0DJNZ R2,WICDARET;向IC卡寫(xiě)入子程序WICDAA: MOV R3,#08WICDAB: RLC AJC WICDAC ; 該位為1,轉(zhuǎn)SETB ICPGM ;打開(kāi)編程位SETB ICPGMMOV ICSDA,CMOV ICSDA,CSETB ICCLKCLR ICPGM ;關(guān)閉編程位CLR ICPGM ;關(guān)閉編程位LCALL DELY5 ; 延時(shí) 5MSCLR ICCLKCLR ICCLKWICDAC: SETB ICCLKSETB ICCLKCLR ICCLKDJNZ R3,WICDAB

24、RET;擦除應(yīng)用區(qū)1CPESC3: SETB ICPGM ;打開(kāi)編程位,擦除灰名單入口SETB ICPGMSETBICSDASETBICSDASETB ICCLKSETB ICCLKCLR ICPGM ;關(guān)閉編程位LCALL DELY5 ; 延時(shí) 5MSCLR ICCLKCLR ICCLKSETB ICCLKSETB ICCLKCLR ICCLKMOV R3,#07CPESC4: SETB ICCLKSETB ICCLKCLR ICCLKCLR ICCLKDJNZ R3,CPESC4DJNZ R2,CPESC3RET;延時(shí)(R7)DELY5: MOV R7,#0AH ;5毫秒延時(shí)DELY: P

25、USH 07DLY1: PUSH 07DLY2: PUSH 07DLY3: DJNZ R7,DLY3POP 07DJNZ R7,DLY2POP 07DJNZ R7,DLY1POP 07DJNZ R7,DELYRET終止語(yǔ)隨著IC卡技術(shù)的飛速進(jìn)展,金融機(jī)構(gòu)、國(guó)家機(jī)關(guān)、公司企業(yè)、教育部門(mén)等領(lǐng)域的需求越來(lái)越迫切,應(yīng)用越來(lái)越 廣泛。我們已在石化系統(tǒng)加氣站實(shí)現(xiàn)了使用 IC卡進(jìn)行加氣的業(yè)務(wù),現(xiàn)將調(diào)試成功的部分有用子程序提供給大伙兒, 供同行朋友們參考。隨著MP3手機(jī)的興起,用戶(hù)不僅對(duì)手機(jī)音樂(lè)的音量、音質(zhì)要求越來(lái)越高 而且對(duì)手機(jī)的儲(chǔ)備容量的要求也越來(lái)越大,總期望能多存些歌,能夠省去頻 繁換歌的苦惱。但目前一

26、樣手機(jī)自帶的內(nèi)存遠(yuǎn)遠(yuǎn)不能滿(mǎn)足這些要求,而且專(zhuān)門(mén)多手機(jī)平臺(tái)也無(wú)法支持外接儲(chǔ)備卡,為了解決這一咨詢(xún)題,就需要有配套 的儲(chǔ)備治理芯片。方泰電子的ft1780能夠幫手機(jī)設(shè)計(jì)工程師專(zhuān)門(mén)好的解決那個(gè)難題。它 不僅能夠提供專(zhuān)業(yè)的MP3音樂(lè),而且集成了 SD/MMC儲(chǔ)備卡接口,由于內(nèi)置 文件治理系統(tǒng),能夠方便地升級(jí)原有的手機(jī)產(chǎn)品,使之具有可更換外接SD/M MC儲(chǔ)備卡的功能。本文介紹了 ft1780音頻處理芯片的功能特點(diǎn),并詳細(xì)敘 述了其在手機(jī)上的應(yīng)用實(shí)例。ft1780芯片內(nèi)部結(jié)構(gòu)和特點(diǎn)圖1是ft1780芯片的內(nèi)部框圖,從中能夠看出,ft1780要緊由7部分組成。圖1: ft1780芯片內(nèi)部框圖1. 主機(jī)接口

27、:與 Basebanc相連,Basebanc通過(guò)它向ft1780發(fā)命令和讀 取狀態(tài);2. 音頻係統(tǒng)引擎:芯片的核心部分,完成64和弦MIDI合成,MP3解碼, 七段數(shù)字均衡器 ,文件系統(tǒng)治理 ,系統(tǒng)操縱等功能 ;3. SD/MMC 卡操縱器:完成 SD/MMC 卡接口功能 ;4. 輸入/輸出操縱器:完成 I2S 接口 ,四路 LED 操縱,馬達(dá)和背光操縱等 功能;5. 電源治理系統(tǒng):能夠關(guān)掉不用的功能模塊 ,節(jié)約系統(tǒng)功耗 ;6. 立體聲耳機(jī)功放:能夠直截了當(dāng)驅(qū)動(dòng)16ohm的耳機(jī),輸出功率可達(dá)到 20mW 以上 ;7喇叭功放:能夠直截了當(dāng)驅(qū)動(dòng) 8ohm喇叭,輸出功率可達(dá)到500mW 以上;ft1

28、780 芯片采納 6mmx7mm 48Pin 的 BGA 封裝 ,與其它一般 MP3 解碼 芯片相比 ,它有以下幾個(gè)要緊特色:1. 工作電流小 ,具有高效的省電設(shè)計(jì)電路 ,芯片內(nèi)各模塊能夠單獨(dú)操縱 開(kāi)和關(guān) ,可滿(mǎn)足手機(jī)上不同的工作模式要求 ;2. 支持全系列采樣率和編碼率的 MP3 數(shù)據(jù),包括 MPEG Version1 Laye r3,MPEG Version2 Layer3 和 MPEG Version2.5 Layer3 標(biāo)準(zhǔn),采樣率范疇是 848kHz,編碼率是8320kbps解碼品質(zhì)高,聲音音質(zhì)好;3. 支持 64 和弦的鈴聲 ,支持自有的人聲音效格式 (FTF 格式),同時(shí)支持 自

29、然音和背景音的播放 ;4. 內(nèi)置 SD/MMC 卡的文件治理系統(tǒng)程序 ,不需要手機(jī)的基帶來(lái)解析 SD /MMC 卡上的文件系統(tǒng) ,基帶只要發(fā)簡(jiǎn)單的命令就能夠操縱 ft1780 的播放功 能,SD/MMC卡的數(shù)據(jù)能夠不通過(guò)基帶,由ft1780芯片自己讀取和播放,如此 能夠大大減輕基帶的負(fù)擔(dān) ,也因此拓寬了 ft1780 的應(yīng)用面。5. 內(nèi)置高品質(zhì)立體聲耳機(jī)功率放大電路 ,輸出功率大 ,并具有無(wú)耦合電容設(shè)計(jì)的耳機(jī)輸出電路。一般的耳機(jī)輸出需要兩個(gè)較大的隔直電容,若電容容量太小 ,會(huì)使低頻響應(yīng)變差 ,聲音低頻失真。而無(wú)耦合電容設(shè)計(jì)能夠節(jié)約成 本,節(jié)約手機(jī)電路板寶貴的空間 ,增加耳機(jī)輸出的保真度。6.

30、內(nèi)置喇叭功率放大電路,在8ohm喇叭上能夠輸出500mW以上的功率。2ljnE«x- aw社基As Job AEALi72u -:FJKliJl Lili "-MlMB"L IhiOL I ifcRQH'W圖2:典型應(yīng)用示意圖。ft1780芯片的曲型應(yīng)用ft1780的應(yīng)用電路比較簡(jiǎn)單,所需的外圍器件專(zhuān)門(mén)少,只需要十幾個(gè)電阻 和電容,典型應(yīng)用線(xiàn)路如2所示。通過(guò)調(diào)整R1和R3的比值能夠調(diào)劑ft1780 內(nèi)部輸出到喇叭的增益,通過(guò)調(diào)整C1和C3能夠調(diào)劑喇叭輸出聲音的高頻和 低頻特性,關(guān)于圖中所列參數(shù),R1=33k歐姆,C1=330pF,R3=33k歐姆,C3=0

31、.1uF, 增 Gain二R1/R3=1,高頻截止頻率為 FH=1/(2* n *R1*C1)=14.6kHz,低頻截止 頻率為FL=1/(2* n *R3*C3)=48.2Hz。從Audio In進(jìn)來(lái)的音頻信號(hào)能夠通過(guò) 操縱從喇叭或耳機(jī)出來(lái),同時(shí)能夠按照需要通過(guò) R2和C2調(diào)劑它的低頻響應(yīng) 曲線(xiàn)。圖中,耳機(jī)的輸出已用了無(wú)耦合電容設(shè)計(jì),因此圖上沒(méi)有輸出耦合電容, 但要注意的是,耳機(jī)的公共端不是通常的“地”,需是芯片上的虛擬地腳“ H PR”。另外芯片的VDDA腳能夠直截了當(dāng)與電池的正級(jí)相接,在不需芯片工 作時(shí),能夠用軟件來(lái)操縱芯片進(jìn)入"Power Down"狀態(tài),這時(shí)芯片的

32、耗電只有 幾微安。有關(guān)軟件和播放流程撕務(wù)塊中服模ft1780芯片的工作需要相應(yīng)的驅(qū)動(dòng)程序支持。驅(qū)動(dòng)程序采納模塊化結(jié) 構(gòu),各功能都有相應(yīng)的程序,在Design In過(guò)程中,只要修改硬件有關(guān)的地址參 數(shù),加入中斷服務(wù)程序(也能夠使用定時(shí)器有關(guān)的查詢(xún)模式),然后調(diào)用相應(yīng)的 API就能夠正常工作(發(fā)出聲音)了。圖3是軟件模塊示意圖,下面簡(jiǎn)單介紹一 下各模塊的功能:驅(qū)動(dòng)程序API模塊MIDIADPCMFTFSD/MMCMP3模塊模塊模塊模塊理件平臺(tái)相關(guān)模塊圖3:軟件模塊示意圖。1. 硬件平臺(tái)有關(guān)模塊:需要按照手機(jī)平臺(tái)的情形修改相應(yīng)的參數(shù) ,要緊 有芯片寄存器的操作地址,輸入時(shí)鐘的頻率等;2. MIDI模

33、塊:MIDI數(shù)據(jù)解析和處理,MIDI播放操縱和回調(diào)操縱;3. ADPCM模塊:ADPCM數(shù)據(jù)解析和處理,ADPCM播放操縱和回調(diào) 操縱;4. FTF模塊:FTF數(shù)據(jù)解析和處理,F(xiàn)TF播放操縱和回調(diào)操縱;5. SD/MMC模塊:SD/MMC命令解析和處理,SD/MMC播放操縱和回 調(diào)操縱;6. MP3模塊:MP3數(shù)據(jù)解析和處理,MP3播放操縱和回調(diào)操縱;7. 中斷服務(wù)模塊:對(duì)芯片的各個(gè)中斷事件作相應(yīng)的處理,要緊補(bǔ)充數(shù)據(jù), 播放終止操縱和出錯(cuò)信息處理等;8. 驅(qū)動(dòng)程序API模塊:提供用戶(hù)所需的所用功能的調(diào)用,用戶(hù)不必關(guān)懷 具體底層模塊的細(xì)節(jié),只需與上層API打交道;9. 用戶(hù)參考模塊:如何使用 A

34、PI操縱播放的一個(gè)例子,也能夠作為API 的進(jìn)一步包裝,供用戶(hù)直截了當(dāng)使用。下面我們介紹一下ft1780軟件的使用方法。播放Baseband上文件的流程圖4是播放Baseband上文件的流程圖。當(dāng)用戶(hù)想播放Baseband上的音 頻數(shù)據(jù)時(shí),第一是要對(duì)ft1780芯片做初始化,然后對(duì)要播放的數(shù)據(jù)做預(yù)處理, 驅(qū)動(dòng)程序會(huì)分析數(shù)據(jù)格式,并按照格式自動(dòng)調(diào)用底層處理函數(shù),再下一步是 啟動(dòng)中斷或定時(shí)器、消息等機(jī)制,這一步的目的是啟動(dòng)后臺(tái)處理任務(wù),當(dāng)進(jìn)入 播放狀態(tài)時(shí),需由后臺(tái)任務(wù)完成后續(xù)的處理工作,最后確實(shí)是發(fā)播放開(kāi)始命 令,開(kāi)始播放聲音,進(jìn)入播放狀態(tài)。rn初皓化Lj中斷、定時(shí)、幫息等1調(diào)甲預(yù)處理敕據(jù)API后

35、臺(tái)中斷服務(wù)程序4啟切中斷或定時(shí)器、消息嗨契1前臺(tái)操作等機(jī)制(啟動(dòng)后臺(tái)任務(wù)4調(diào)用播啟API.開(kāi)始播旗調(diào)用其它API進(jìn)入播啟狀態(tài)圖4:播放Baseband上文件的流程圖。在播放狀態(tài)下,ft1780芯片會(huì)按照內(nèi)部運(yùn)作情形發(fā)出中斷要求,Baseband 必需在一定時(shí)刻內(nèi)處理相應(yīng)事件,否則會(huì)顯現(xiàn)聲音停頓,不連續(xù)等現(xiàn)象。在ft 1780芯片內(nèi)部有專(zhuān)門(mén)大的FIFO(先進(jìn)先出儲(chǔ)備器)來(lái)儲(chǔ)存播放的數(shù)據(jù),能夠適 應(yīng)低端Baseband中斷反應(yīng)延時(shí)比較大的咨詢(xún)題,保證聲音播放的順暢。在播放過(guò)程中,Baseband隨時(shí)能夠調(diào)用相應(yīng)的API來(lái)停止當(dāng)前的播放, 或讀取播放信息,暫停/復(fù)原等操作。播放SD/MMC卡上文件的

36、流程圖5是播放SD/MMC卡上文件的流程圖。當(dāng)用戶(hù)想播放 SD/MMC卡 上的聲音文件時(shí),第一是要對(duì)ft1780芯片做初始化,然后讀出卡上的聲音文件,選擇要播放的文件,調(diào)用簡(jiǎn)單的API播放命令后,進(jìn)入播放狀態(tài),芯片會(huì)自 動(dòng)讀取卡上的數(shù)據(jù),播放出聲音,再下一步是啟動(dòng)中斷或定時(shí)器、消息等機(jī)制, 這一步的目的是啟動(dòng)后臺(tái)處理任務(wù),處理中斷事務(wù)。帶SD/MMC儲(chǔ)備卡接口的 MP3和弦芯片ft1780圖5:播放SD/MM卡上文件的流程圖。盡管看上去與播放Baseband上文件的流程差不多,但要緊有以下不同:當(dāng)播放Baseband上文件時(shí),Baseband必須持續(xù)地送數(shù)據(jù)到ft1780芯片內(nèi)部, 中斷會(huì)比較

37、頻繁(與所播放的文件的碼流率有關(guān)),而當(dāng)播放SD/MMC卡上的 文件時(shí),ft1780芯片自己從SD/MMC卡里讀取所需數(shù)據(jù),不需要Baseband的 干預(yù),在播放過(guò)程中差不多上沒(méi)有中斷任務(wù),只有在播放終止時(shí)會(huì)發(fā)出中斷 告知Baseband由Baseband決定下一步的工作,如重復(fù)播放、或播放下一個(gè) 文件,因此對(duì)Baseband的要求更低,適應(yīng)性更廣。在播放過(guò)程中,Baseband隨時(shí)調(diào)用相應(yīng)的API函數(shù),完成停止播放,暫停/ 復(fù)原等功能SD/MMC儲(chǔ)備卡操縱芯片憑借優(yōu)良性能和杰出的銷(xiāo)售業(yè)績(jī),芯邦自主研發(fā)的 SD/MMC 儲(chǔ)備卡操 縱芯片在 “2007 年中國(guó)半導(dǎo)體創(chuàng)新產(chǎn)品和技術(shù)項(xiàng)目”評(píng)選中,榮

38、獲了“中 國(guó)半導(dǎo)體創(chuàng)新產(chǎn)品”稱(chēng)號(hào)。芯邦公司是由歸國(guó)留學(xué)人員于 2003 年在深圳創(chuàng)立的。公司致力于 成為與移動(dòng)儲(chǔ)備和多媒體有關(guān)的操縱芯片設(shè)計(jì)及其整體解決方案開(kāi)發(fā)的領(lǐng) 導(dǎo)者??焖俪砷L(zhǎng)與進(jìn)展的閃存(flash)儲(chǔ)備器差不多成為半導(dǎo)體產(chǎn)業(yè)專(zhuān) 門(mén)是移動(dòng)儲(chǔ)備產(chǎn)業(yè)進(jìn)展的要緊推動(dòng)力,而將閃存與各種接口和應(yīng)用相連接 的操縱器芯片起著關(guān)鍵性的作用,它直截了當(dāng)阻礙到閃存的推廣和應(yīng)用, 市場(chǎng)空間專(zhuān)門(mén)寬敞。移動(dòng)多媒體是帶動(dòng)消費(fèi)類(lèi)電子產(chǎn)品進(jìn)展的領(lǐng)頭羊,例如 MP3, MP4, GPS等等,過(guò)去幾年和以后都顯示出龐大的進(jìn)展空間,為芯片設(shè)計(jì)公司 提供了前所未有的進(jìn)展機(jī)遇。憑借芯邦核心團(tuán)隊(duì)在海外聞名芯片設(shè)計(jì)公司( Broad

39、com、Philips) 幾十年芯片設(shè)計(jì)與治理體會(huì),加上本土化的客戶(hù)服務(wù)與市場(chǎng)開(kāi)拓優(yōu)勢(shì),在 中國(guó)良好的集成電路產(chǎn)業(yè)進(jìn)展環(huán)境下,芯邦立足和用心于移動(dòng)儲(chǔ)備和多媒 體有關(guān)操縱芯片的開(kāi)發(fā)和應(yīng)用,為該產(chǎn)業(yè)的進(jìn)展做出了主動(dòng)的奉獻(xiàn)。成立僅短短 4 年多的芯邦,依靠不懈地努力自主創(chuàng)新研制推出的 第一代產(chǎn)品 U 盤(pán)系列操縱芯片,截至 2007年底累計(jì)出貨量已超過(guò)一億 片,單月銷(xiāo)售量更突破 700萬(wàn)片,已占全球約 40%的市場(chǎng)份額,成為 U 盤(pán) 操縱芯片全球最大供貨商; 2007年下半年,芯邦又在創(chuàng)新模式下開(kāi)發(fā)出國(guó) 內(nèi)第一款 SD/MMC 卡操縱芯片,打破了以往長(zhǎng)期被中國(guó)臺(tái)灣的廠(chǎng)商壟斷供 貨的局面。ExlFL&#

40、171;£»402FSVfi4 22商胡MDFATJ? M tt的戦舶號(hào).A B ft 五下跌的升紙?zhí)朆PB_ RooiCIua專(zhuān)OmDOO00002FAT32糧昌承脾茫第一十/的 食號(hào)迅肅為2FSJnk48*OmOO1ftttK的文杵星就所古用叫 艮號(hào)捕常力1g保爲(wèi)罠亦導(dǎo)低軒射質(zhì)農(nóng)的區(qū)RcMirTed5Z12FAT « ft fi 本在保留區(qū)之后是FAT區(qū),存有文件分配表。一樣文件系統(tǒng)中有 2份文件分 配表FAT1和FAT2,每份FAT表占用空間的大小可從 BPB表中查得。由于采納的是SDHC卡和FAT32文件系統(tǒng),緊接在FAT區(qū)之后的是文件名 目數(shù)據(jù)區(qū),真正意義上的數(shù)據(jù)從那個(gè)區(qū)開(kāi)始,以簇編號(hào),順序上第1個(gè)簇編號(hào)為第2簇,

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

最新文檔

評(píng)論

0/150

提交評(píng)論