- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The question is: We use RS-232 of 2 000 000 bps, and due to the fact that speed never changes, there is no necessity in software initialization. Is there any possibility to create UART of 2 000 000 bps without software initialization "Fixed baud rate"?
Link Copied
5 Replies
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
sorry,i don't know.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Sure.
If you use the standard UART module supplied with sopc builder, you have both choices in component properties: fixed baud rate (defined in sopc builder) or programmable by means of a divisor register. If you use another custom UART core, you still have a divisor/baudrate register: simply set it to the fixed value you require.- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
I got similar question about how to make High-Speed Inter-Chip through I2C, i.e. 480Mb as USB2.0? Is there any IP or test board available? Thanks,:cool:- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi, Cris72! I know that UART speed can be adjusted by software and hardware means. My question was: can UART be adjusted by hardware (with the set "Fixed baud rate") for speed of 2 000 000 bps?
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
The standard UART core available with sopc builder, set the baudrate through a divisor register according to this equation:
baudrate = clock_frequency / (divisor + 1) So, if baudrate is an exact multiple of clock_frequency, you don't have any problem. This is relevant only for low divisor values, while for high divisor/low baudrate a few lost decimals don't matter. Also consider that, although you can virtually use divisor=1 to drive uart at half clock speed, this is usually not recommended since the receiver needs to synchronize to incoming data (remember the A in UART means Asynchronous). Other UART cores usually derive an internal sample clock 16x the system clock, so they require baudrate = clock_frequency / (16 * (divisor + 1))
Reply
Topic Options
- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page