<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 嵌入式系統(tǒng) > 設(shè)計應(yīng)用 > 基于CPLD的串并轉(zhuǎn)換和高速USB通信設(shè)計

          基于CPLD的串并轉(zhuǎn)換和高速USB通信設(shè)計

          作者: 時間:2014-09-14 來源:網(wǎng)絡(luò) 收藏

            (5)邏輯陣列輸入

          本文引用地址:http://www.ex-cimer.com/article/262878.htm

            邏輯陣列輸入包括全局總線/開關(guān)矩陣和返送總線:

            ◇ 全局總線/開關(guān)矩陣

            全局總線包括所有的輸入和I/O引腳信號以及所有128個宏單元的隱藏反饋信號。每個邏輯塊的開關(guān)矩陣將全局總線的所有信號作為其輸入。在軟件的控制下,這些信號中最多可以有40個被選擇作為邏輯塊的輸入。

            ◇ 返送總線

            每一個宏單元可以產(chǎn)生一個返送乘積項。這個信號連接到局部總線上,并且對16個宏單元有效,它是宏單元一個乘積項的反極性。每個局部總線的16個返送項允許產(chǎn)生高扇入求和項(最多21個乘積項),而只有很小的延時。

            3 設(shè)計軟件支持

            公司提供了的設(shè)計軟件,而且很多第三方的工具軟件也支持ATF1508AS的設(shè)計,可以用多種高級描述語言和格式進(jìn)行邏輯描述,如CUPL、ABEL、VHDL等。由于ATF1508AS與ALTERA公司的EPM7000系列是完全引腳兼容的,因此可以使用 ALTERA公司的MAXPLUSII軟件。它能進(jìn)行VHDL語言的編譯和綜合,使用方便,功能強大。MAXPLUSII綜合后產(chǎn)生適合ALTERA的 編程的POF文件,使用POF2JED軟件(公司提供),就可將POF文件轉(zhuǎn)換為適合ATF1508AS的工業(yè)標(biāo)準(zhǔn)JEDEC編程文件,下載到ATF1508AS芯片中。

            4 器件編程

            ATF1508AS器件是利用4腳JTAG協(xié)議在系統(tǒng)編程(ISP)的。提供了ISP硬件(下載電纜)和軟件,以允許從PC對ATF1508AS進(jìn)行編程。若要允許ISP編程支持"自動測試裝置(ATE)"向量,必須通過ATMEL的ISP軟件生成串行向量格式(SVF)文件,也可轉(zhuǎn)換為除SVF外的其它ATE測試格式。ATF1508AS器件也可以用標(biāo)準(zhǔn)的第三方編程器來編程,這時JTAG ISP口可以被禁止從而允許這四個額外的I/O引腳用于邏輯功能。

            ATF1508AS還有一個特性就是如果由于任何原因編程過程被中斷,則器件將被鎖定以防止輸入和I/O引腳被驅(qū)動。在這種狀態(tài)下,輸入和I/O引腳缺省下為高阻狀態(tài)。在編程器件時,輸入和I/O引腳也將為高阻狀態(tài)。此外,引腳保持電路設(shè)置在器件編程期間將保持以前的狀態(tài)。 ATF1508AS器件出廠時被初始化為已擦除狀態(tài),可以直接用來ISP編程。

            5 應(yīng)用實例

            (1)應(yīng)用ATF1508AS進(jìn)行串并轉(zhuǎn)換

            本系統(tǒng)應(yīng)用ATMEL公司的ATF1508AS進(jìn)行串行數(shù)據(jù)到并行數(shù)據(jù)的轉(zhuǎn)換,在進(jìn)行數(shù)據(jù)采集中,用到Crystal半導(dǎo)體公司生產(chǎn)的24位高精度Σ-△模/數(shù)轉(zhuǎn)換器CS5321/CS5322組件。該組件最終輸出字長為24位的2的補碼格式的串行數(shù)字信號,將其轉(zhuǎn)換為并行數(shù)據(jù)可以方便與單片機的接口。串并轉(zhuǎn)換可采用移位寄存器來實現(xiàn)。對實現(xiàn)6通道24位采樣,若采用移位寄存器,則需要8位移位寄存器,共3×6=18片,另外還要用幾片譯碼器。這樣,會使芯片數(shù)量大增,占用大片電路板面積,使系統(tǒng)的體積增大。本系統(tǒng)使用ATF1508AS來實現(xiàn)6通道24位數(shù)據(jù)的串并轉(zhuǎn)換,可將大部分?jǐn)?shù)字邏輯設(shè)計(包括組合邏輯和時序邏輯)集成在一個芯片內(nèi),大幅減少芯片數(shù)量,減小系統(tǒng)體積。

            由于ATF1508AS內(nèi)部有128個宏單元,而且24位串并轉(zhuǎn)換需要24個移位寄存器,因此不能同時進(jìn)行6通道的串并轉(zhuǎn)換,只能分時復(fù)用。本系統(tǒng)分3次進(jìn)行串并轉(zhuǎn)換,每次轉(zhuǎn)換2個通道,等待單片機讀取2個通道的并行數(shù)據(jù)后再進(jìn)行剩下的轉(zhuǎn)換。部分串并轉(zhuǎn)換VHDL程序如下(硬件描述語言是VHDL,軟件是ALTERA公司的MAXPLUSⅡ軟件和ATMEL公司的POF2JED軟件,下載軟件是ATMEL公司的ATMISP,下載電纜是ATMEL公司的專用電纜):

            s2p : process(SCLK1M,DRDYIN,WORKING,RESET)

            begin

            if WORKING='1' or RESET='1' then

            shift_enable <= '0';

            state <= s0;

            elsif SCLK1M'event and SCLK1M='0' then

            count1 <= count1+1;

            case state is

            when s0 =>if DRDYIN='0' then

            shift_enable <= '1';

            count1 <= (others=>'0');

            int_reg <= '1';

            state <= s1;

            elsif READOK='1' then

            int_reg <= '1';

            end if;

            when s1=>shift_reg0<=shift_reg0(22 downto 0)& SOD(0);

            shift_reg1<=shift_reg1(22 downto 0)& SOD(1);

            if count1=23 then

            shift_enable <= '0';

            int_reg <= '0';

            state <= s2;

            else

            int_reg <= '1'; end if;

            when s2 => if shift_enable='1' then

            shift_reg0<=shift_reg0(22 downto 0)& SOD(2);

            shift_reg1<=shift_reg1(22 downto 0)& SOD(3);

            if count1=23 then

            shift_enable <= '0';

            int_reg <= '0';

            state <= s3;

            else

            int_reg <= '1'; end if;

            elsif READOK='1' then

            shift_enable <= '1';

            count1 <= (others=>'0');

            end if;

            when s3 =>if shift_enable='1' then

            shift_reg0<=shift_reg0(22 downto 0)& SOD(4);

            shift_reg1<=shift_reg1(22 downto 0)& SOD(5);

            if count1=23 then

            shift_enable <= '0';

            int_reg <= '0';

            state <= s0;

            else

            int_reg <= '1'; end if;

            elsif READOK='1' then

            shift_enable <= '1';

            count1 <= (others=>'0');

            end if;

            end case;

            end if;

            end process;

            (2)應(yīng)用ATF1508AS進(jìn)行高速通信

            是近年來應(yīng)用在PC領(lǐng)域的新型接口技術(shù),具有使用方便、速度快、連接靈活、支持熱插拔等特點。1.1協(xié)議定義在高速下12 Mb/s、低速下1.5 Mb/s的傳輸速度。若要達(dá)到高速12 Mb/s(相當(dāng)于近1 MB/s)的速度,就要大約1μs傳輸1個字節(jié)。但由于USB的控制傳輸、錯誤檢測以及單片機本身速度的限制,很難達(dá)到這么高的速度,因此,必須采用 DMA方式才能達(dá)到真正的高速傳輸,使用就可以實現(xiàn)類似DMA方式。單片機負(fù)責(zé)解釋USB的控制傳輸,當(dāng)要進(jìn)行從外存取數(shù)送到USB接口芯片時,單片機讓出總線,由CPLD完成該工作。CPLD產(chǎn)生外存的讀取時序和地址、片選信號,同時產(chǎn)生USB接口芯片的寫時序和地址、片選信號,這樣就可以自動實現(xiàn)外存數(shù)據(jù)到USB接口芯片的工作,而且速度很快,不需要單片機干預(yù)。以下給出RAM的讀取時序、地址信號和USB接口芯片寫時序的VHDL程序片斷:

          上拉電阻相關(guān)文章:上拉電阻原理


          關(guān)鍵詞: ATMEL CPLD USB

          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();