Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

clock generation of 9600 from pll

Status
Not open for further replies.

kask1984

Newbie level 4
Joined
Mar 10, 2009
Messages
6
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Location
INDIA
Activity points
1,321
baudtick

hi every one i want to generate a clock frequency of 9,600 hz (serial communication )
from a frequency of 33.33Mhz using pll
i am using altera cyclone kit
pls help me how can i generate
 

You can use an NCO to generate it digitally by using a Accumlator of 32 Bits.
Here is an example

parameter ClkFrequency = 33330000; // 33.33MHz
parameter Baud = 9600;
parameter BaudGeneratorAccWidth = 32;
parameter BaudGeneratorInc = (Baud<<BaudGeneratorAccWidth)/ClkFrequency;

reg [BaudGeneratorAccWidth:0] BaudGeneratorAcc;
always @(posedge clk)
BaudGeneratorAcc <= BaudGeneratorAcc[BaudGeneratorAccWidth-1:0] + BaudGeneratorInc;

wire BaudTick = BaudGeneratorAcc[BaudGeneratorAccWidth];
 

You can use an NCO to generate it digitally
Yes, but an integer frequency divider would do as well, because there's no need to meet the UART baud rate more exactly than 1 or 2 %. An UART receiver would need a multiple of 9600 baud, e.g. *16 for oversampling purposes.

As far as I see, existing UART HDL samples have their baud generator with them, so they simply have to be supplied with a system clock. Examples have been given at edaboard before.
 

Status
Not open for further replies.

Similar threads

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top