Chip123 科技應用創新平台

 找回密碼
 申請會員

QQ登錄

只需一步,快速開始

Login

用FB帳號登入

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

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

[複製鏈接]
跳轉到指定樓層
1#
發表於 2008-1-26 19:23:48 | 只看該作者 回帖獎勵 |倒序瀏覽 |閱讀模式
各位大大好~+ h# n1 Y9 n! D0 W: t
我要用ADC0804抓一個0~5V 電壓~
& L( F; ~8 ]2 O! w0 \8 k0 P- ~  M5 z下面是唐佩忠那本書裡面的ADC0804的VHDL程式碼~
% _, J- g! L8 I他只有對0804的WR跟RD做控制~~  v1 p* F/ O0 K& W9 d  g( L7 _8 H3 h
那CS 跟INTR都不用做控制嗎?
* \9 ~$ y# P2 J" A  U: P4 \' e; ~" c( T* Y& Q; H1 w0 E4 x8 Z
不知道有沒有大大~有用過FPGA來控過ADC0804的嗎?7 e$ f8 t! j# \: C1 }3 p2 D6 A  _3 }& K
希望可以向你請叫問題~0 p! _% A& e. I+ S1 V% U
非常感謝~~' d+ t3 @+ N( P* G+ {0 o  [7 X/ e

# G8 \5 g; X" D, r$ t5 l6 n; a& }5 \3 z9 C# [+ w5 s+ P* b
Library IEEE;$ V2 |! _) k: l8 l9 z2 e
USE IEEE.std_logic_1164.ALL;
* _" {1 o4 Y8 G9 q4 |! ]USE IEEE.std_logic_arith.ALL;: w9 r7 y5 p' B' }( ?
USE IEEE.std_logic_unsigned.ALL;
" p1 C: F9 {& d0 WENTITY ADC0804 IS* d9 t( G7 U4 j  q
PORT4 I4 C: \+ W) u4 J# r5 v
(
& b! K' H! _: I) o  AOP    : OUT     STD_LOGIC_VECTOR(7 DOWNTO 0);
; }9 ?, E0 {: Z7 u4 W, w, X  AIN    : IN     STD_LOGIC_VECTOR(7 DOWNTO 0);8 I7 S: D* K: k- g( H3 @/ Z
  WR    : OUT     STD_LOGIC;
1 Z8 @3 I* Y& @0 l- Z; T  RD        : OUT     STD_LOGIC;8 j2 V, {; n' n$ M) L
  CLK       : IN      STD_LOGIC;: G7 ~% r2 A6 V: L# v
  FERQ      : IN      STD_LOGIC; d6 o* V3 P4 d! Z9 H, j
);; u4 i2 J& }: h7 G% ?3 N4 Q
END ADC0804;
6 A% X. z, n7 sARCHITECTURE a OF ADC0804 IS; K; r- ?9 M: e+ [7 f
SIGNAL D0,D1,D2,D3 : STD_LOGIC;
  ^# Q' i' S8 \4 ]BEGIN
: s/ D! ~3 y7 \9 o7 n--*********************************************************************
3 ~/ w7 E# V/ u; \4 g6 itime_sequence : block
. w. N7 P5 H  Q- k/ {BEGIN
! |" @' t8 P; g! M( k8 A     process(CLK)
. s; g+ Z0 q  `     begin
  [/ t- e) }9 {1 R- |$ i          if CLK'event and CLK='1' then8 Q1 D- q5 }7 i" d+ s# I) q/ C3 I  o
             D3<=D2;
: v4 F$ I  A/ n5 g             D2<=D1;
) N0 T. G0 i# ^9 d2 j; Z. ~             D1<=D0;
% ]& i3 G% p' L( v/ h. G             D0<=FERQ;$ z( ^5 b& w3 e3 K) i
          END if;, O. B+ e" Y+ f7 P5 C7 _
     end process;5 T6 @; M0 L6 B3 k! L6 L
          RD <= not (FERQ or D0 or D1);1 y5 D- A  G+ D- @9 ?9 S
          WR <= not D3;4 d& M: q. q5 b* K
end block time_sequence;
+ `* _* x! i$ o1 M* ~8 q1 }--*********************************************************************! L  o0 y# T) _3 k0 q
ADC_FETCH : block8 J& |% g) D) R1 G
     SIGNAL EC : STD_LOGIC;9 i2 }0 {: B. I( ^% [
begin
4 ]- h: S6 t' Y- F, m     process(CLK)
; Q' d) F  |; p     begin* s! ~0 ^+ T& G  X" f! _& g
          if CLK'event and CLK='1' then, L0 }4 i8 F  o' k3 d4 H
               if EC='1' then) m+ h8 T" |& {$ i4 s8 I
                   AOP <= AIN;
* \; m  G9 }0 ^2 Z; o% ^# E" Y/ `               end if;
- i& l+ R; o$ Y2 g/ T8 b6 V  Q          end if;( r, y0 V1 w/ \; p# l* Z6 I( P& G- S" |
     end process;4 Z( f; D& f' G# P
     EC <= D1;) f# X1 v0 R" z5 e( b/ R5 S
end block ADC_FETCH;# i+ {) ^, O5 q7 f4 w3 n  V
END a;
分享到:  QQ好友和群QQ好友和群 QQ空間QQ空間 騰訊微博騰訊微博 騰訊朋友騰訊朋友
收藏收藏 分享分享 頂 踩 分享分享
2#
發表於 2008-1-26 22:06:17 | 只看該作者
CS可以直接接地,
. c! Y5 Y" f# g0 [/ ~- \INTR是判斷a->d是否轉換完成,
. B& w9 }* U5 V8 e. M# Y8 k如果只是偶爾讀一下0804的值,
4 V1 R, D) G& d" H0 S4 O你也不用去判斷INTR.3 C. ]& ^1 e3 g0 L; q/ k& S

8 H" h: l' D0 z. z* O不過還是建議按照0804的spec來read or write吧
3#
發表於 2008-1-27 10:40:01 | 只看該作者
您好7 t* P) \  N! p& s/ h' C  u
ADC0804的操作,也可以不用判斷INTR的方式$ K3 p4 J) U5 Y+ D* D8 G
基本上ADC0804的轉換需要一段時間% J$ o" S) i  X3 V4 l
只要讀取時大於這段轉換時間即可
" z7 I, D+ D1 v  C' v1 F+ Q; `  U而你書本上的範例就是用這方式
4#
發表於 2008-1-28 10:40:48 | 只看該作者

read ADC0804

基本上ADC0804之,讀取分兩方式
1 n3 ^6 q  R' o8 H) o/ x. r1, Polling 方式 如addn & kolong 所言, but  hw or sw need handle timer 來判斷 conversion time 完成否,
$ l9 y* W+ D/ j8 ~# o% B" k2. interrupt 方式, ADC0804 用INTR自己來告知 data valid, conversion time已完成 !
5#
發表於 2008-1-28 13:31:53 | 只看該作者
拍拍手...
% _9 H" b9 K! ]1 Z* i
# w  j5 T( ?' k4 }& i以上的都是標準答案
) `  \+ ]* G* {! k' T; ~( r! E, o( j% A
TWIN給個感謝吧
7 W& f; ^" l7 H& {* S# b; H3 Y4 ?
8 X2 m* ]2 g4 _" a; C另外有大大願意整理更詳細的資料嗎? 我想可以的話收到精華區去, 賞10RDB如何?
6#
發表於 2008-8-8 13:01:52 | 只看該作者
大大你好~小弟我想請問一下3 n8 R* P  N. u% O
FERQ      : IN      STD_LOGIC
, H3 n/ v' \9 |. b; _) a5 L它設定輸入是什麼??* b: V1 [. N# Z# u. _4 u4 g" h
我不太懂~謝謝
您需要登錄後才可以回帖 登錄 | 申請會員

本版積分規則

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

GMT+8, 2024-5-15 06:53 PM , Processed in 0.107014 second(s), 18 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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