<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于CPLD的串并轉換和高速USB通信設計

基于CPLD的串并轉換和高速USB通信設計

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

  (5)邏輯陣列輸入

本文引用地址:http://dyxdggzs.com/article/262878.htm

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

  ◇ 全局總線(xiàn)/開(kāi)關(guān)矩陣

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

  ◇ 返送總線(xiàn)

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

  3 設計軟件支持

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

  4 器件編程

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

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

  5 應用實(shí)例

  (1)應用ATF1508AS進(jìn)行串并轉換

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

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

  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)應用ATF1508AS進(jìn)行高速通信

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

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


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

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>