CONTACT | TEL : 02-728-3440, EMAIL : SALES@ASTRONLOGIC.COM
ASTRON LOGIC RESEARCH AND DEVELOPMENT CO.,LTD.

» WEBBOARD

วงจรหารความถี่

ผมเป็นคนหนึ่งที่ได้มีโอกาสใช้บอร์ด FPGA ตัวนี้ซึ่งเป็นเทคโนโลยีใหม่ที่ผมได้รู้จัก ซึ่งเคยเรียนแต่ Theory แต่เมื่อได้ลองใช้งานจริงรู้สึกว่าทำให้เข้าใจงานทางด้าน Digital ได้ดีขึ้น แต่ผมอยากจะให้ช่วยยกตัวอย่างวงจรหารความถี่ที่เป็นแบบ Real Time ที่ให้ความภี่ออกมาเป็นสัญญาณนาฬิกาจริง 1 วินาที ซึ่งบอร์ด PLD-A01 จะมีตัวสร้างความถี่ 10 MHz ให้กับตัวชิฟนี้ ซึ่งกระผมจะขอบคุณมากครับ

จากคุณ : one_nun@hotmail.com ตั้งกระทู้นี้เมื่อ 18:45 [03/01/2002]

ความคิดเห็นที่1

หากจะใช้ Oscillator 9.6Mhz ที่อยู่บนบอร์ด Wizard PLD-A01 มาทำเป็น RTC จะไม่สามารถหารความถี่ลงมาให้เท่ากับ1 Hz ได้นะครับ(จะได้ประมาณ 1.2 Hz) เพราะฉนั้น ถ้าคุณจะเอาความถี่ 1 Hz จริงๆ ผมแนะนำให้คุณใช้ Osc ความถี่ 32.768 KHz ต่อเข้าไปแทนครับ จากนั้นก็เขียนโปรแกรมหารความถี่ 32.768 KHz ด้วย 32768 ก็จะได้ความถี่ที่ Output เท่ากับ 1 Hz ความถี่ 1 Hz นี้ก็สามารถนำไปเป็นสัญญาณอ้างอิงเวลาจริงได้แล้วครับ ส่วนของโปรแกรมก็สามารถ copy จากคำตอบนี้เลยก็ได้

-- MAX+plus II VHDL Example
-- Divider Clock to 1 Hz for Real Time Clock
-- Astron Logic Research and Development Co.,Ltd
-- System Clock 32.768 kHz
library ieee;
use ieee.std_logic_1164.all;
use ieee.std_logic_arith.all;

entity RTC is
port(
Clk_i : in std_logic; -- System Clock is 32.768 kHz
Clk_1Hz : out std_logic -- Real Time Clock is 1 Hz
);
end RTC;

architecture RTL of RTC is
signal div : std_logic_vector(0 to 14);
begin
process(clk_i)
variable cou : integer range 0 to 32768;
begin
if (clk_i'EVENT) and (clk_i = '1') then
cou := cou + 1;
end if;
div <= CONV_STD_LOGIC_VECTOR(cou,15);
Clk_1Hz <= div(14);
end process;
end RTL;

จากคุณ : support@astronlogic.com 13:25 [04/01/2002]
ร่วมด้วยช่วยกันตอบครับ
ชื่อ :
E-Mail :
คำตอบ :







คลิกเพื่อแทรกรูป