Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

搜索
1 2 3 4
查看: 4305|回復: 5
打印 上一主題 下一主題

[問題求助] ADC0804VHDL程式問題..

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-1-26 19:23:48 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位大大好~
8 d& `: u. k1 B  g2 B9 j我要用ADC0804抓一個0~5V 電壓~: m8 u9 {' [0 D, G* U% Y
下面是唐佩忠那本書裡面的ADC0804的VHDL程式碼~
  }4 P# T$ M" S8 Y他只有對0804的WR跟RD做控制~~
- f, \* ]2 Y) m1 u( m4 t7 g5 i那CS 跟INTR都不用做控制嗎?
+ @& l$ X3 N/ F% h8 d2 _. X: Q0 T/ ]6 d4 ^, m
不知道有沒有大大~有用過FPGA來控過ADC0804的嗎?' g& b, N( L8 t$ U% S+ L, C
希望可以向你請叫問題~
: Z  e( Q! P( ]$ _$ \7 L非常感謝~~
0 s/ w8 l7 _! W. x9 w. G- [7 s) Y6 ?
9 s4 U" {$ y2 K9 v& K% {7 f+ r' e; L( @, t1 c, L" z1 E
Library IEEE;8 {4 y# P# T" M' G% D
USE IEEE.std_logic_1164.ALL;' e7 F" J9 i, x! _4 m5 B
USE IEEE.std_logic_arith.ALL;
& m- C7 W7 P6 PUSE IEEE.std_logic_unsigned.ALL;& _" G1 A7 a6 E; d0 Z+ s+ D" ~
ENTITY ADC0804 IS
* K  l9 K5 W! q$ o, a* n, K PORT3 I8 F* I* M9 B  L
(, r& g0 P1 u& H/ X* t
  AOP    : OUT     STD_LOGIC_VECTOR(7 DOWNTO 0);  R) j% F1 v5 l8 S9 q% v8 i
  AIN    : IN     STD_LOGIC_VECTOR(7 DOWNTO 0);9 m3 B  v, ~  |( T& `1 N
  WR    : OUT     STD_LOGIC;3 ~* a# }9 x- b  o4 D
  RD        : OUT     STD_LOGIC;
4 t# T/ L, d  s# d) {$ o$ z9 D' ~* _  CLK       : IN      STD_LOGIC;
+ `& }) }( u; `6 l" O& [8 Z2 h  FERQ      : IN      STD_LOGIC- J( i& ?6 S7 b5 q- o
);
( w6 C1 g4 C; O$ [7 H1 VEND ADC0804;" y* L  g2 `8 f  Y. S& b* e0 I0 v
ARCHITECTURE a OF ADC0804 IS  O' c% S8 t$ K
SIGNAL D0,D1,D2,D3 : STD_LOGIC;
! ~% ^% J' u3 K+ b( @6 s5 E. @3 C& S9 {BEGIN
+ ?& j; C! h4 w4 p--*********************************************************************
+ J4 h, o8 `5 j; gtime_sequence : block0 f: j6 W0 t9 K8 K  ?4 H
BEGIN
" f; l- l; t9 H. H     process(CLK)4 |7 l& O* R$ q7 W
     begin
* L# {, U! {% d+ a4 G          if CLK'event and CLK='1' then2 K; P  e, ?( ?+ s
             D3<=D2;
, f0 \% P! P  [5 P- Y9 }/ O             D2<=D1;
* m1 k4 q9 x/ B8 [             D1<=D0;6 Q+ m; x& s& A$ @  r2 S
             D0<=FERQ;
7 ]& f9 h! v1 k* U          END if;* t1 f2 D5 s' U4 l0 A& c+ k! K
     end process;4 g( p. |4 n$ {$ u9 b. y, S/ `
          RD <= not (FERQ or D0 or D1);
3 x6 [) d; }! E# E- l8 z+ L          WR <= not D3;
4 t, d0 D0 v, F" m/ V& j8 S1 {) Wend block time_sequence;
( N  p; \( @8 o7 ]2 e4 J--*********************************************************************; u) U. A& |6 u( }. R9 a) B4 }+ |/ N
ADC_FETCH : block6 |/ V- x. s3 d. b' z( S$ {5 h
     SIGNAL EC : STD_LOGIC;
& ~9 i5 F5 y* J4 \begin; `' I# I' Y& I1 n+ C
     process(CLK)) O8 K/ Y: @0 G* s% i
     begin
- Z# j* Y  D6 C2 o$ I          if CLK'event and CLK='1' then0 H8 u6 U+ M; C$ d+ j* R
               if EC='1' then
/ R7 Z9 L& m% V, @: e4 e9 o9 `                   AOP <= AIN;
1 ]# h" J1 e+ Q8 J4 m1 d               end if;
( `0 R) y/ a# }7 f: L          end if;: s4 v2 X' |0 U. M) w2 O
     end process;
! S# f, Z# e# b9 j' @     EC <= D1;
& ^2 b- V" n$ r8 k# g# ^end block ADC_FETCH;
5 ^+ d3 H) r9 REND a;
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2008-1-26 22:06:17 | 只看該作者
CS可以直接接地,
, X. E! l! d/ s; cINTR是判斷a->d是否轉換完成,' x+ W; p$ [. v7 O
如果只是偶爾讀一下0804的值,% M" V# B" }) B9 Z$ T
你也不用去判斷INTR.
: z; P" X& s; q0 W, W4 k' N9 z6 N0 _2 U3 ?3 H' r
不過還是建議按照0804的spec來read or write吧
3#
發表於 2008-1-27 10:40:01 | 只看該作者
您好
' i- P4 z9 n6 B9 y2 A) p4 WADC0804的操作,也可以不用判斷INTR的方式( G. s/ n1 C, j" ^- A
基本上ADC0804的轉換需要一段時間
% m0 b1 [" ?3 x! O: ^; r# E5 m7 _5 @只要讀取時大於這段轉換時間即可# @3 `4 s) Y8 |# I5 i
而你書本上的範例就是用這方式
4#
發表於 2008-1-28 10:40:48 | 只看該作者

read ADC0804

基本上ADC0804之,讀取分兩方式
# G* _: Q' Y1 y* H; Q/ |1, Polling 方式 如addn & kolong 所言, but  hw or sw need handle timer 來判斷 conversion time 完成否,
  X( D0 P: ^& r9 R# R+ K2. interrupt 方式, ADC0804 用INTR自己來告知 data valid, conversion time已完成 !
5#
發表於 2008-1-28 13:31:53 | 只看該作者
拍拍手...
: V# G3 T% [+ s" `5 T2 h
+ w, n9 Q9 k, [: ]以上的都是標準答案; ?9 E8 {: c5 O4 O5 r* {8 V. T7 d

' Y* ?& I0 T. A) `: Z0 b/ l6 x: STWIN給個感謝吧
2 ]7 ]+ [9 j1 H4 d2 n: R+ p/ e" B
另外有大大願意整理更詳細的資料嗎? 我想可以的話收到精華區去, 賞10RDB如何?
6#
發表於 2008-8-8 13:01:52 | 只看該作者
大大你好~小弟我想請問一下
7 ~( A$ X/ K& N. U" `- J" P2 P9 oFERQ      : IN      STD_LOGIC+ n3 q/ \1 i  e& ^2 C" W- h
它設定輸入是什麼??+ n. [! z# x5 n$ ?
我不太懂~謝謝
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

首頁|手機版|Chip123 科技應用創新平台 |新契機國際商機整合股份有限公司

GMT+8, 2024-6-4 11:24 AM , Processed in 0.115014 second(s), 19 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回復 返回頂部 返回列表