UART发送模块设计:
设计思路:
1、300HZ频率时钟
设定一个100KHZ时钟,通过设定预加载值进行分频,Preload=166,得到299.4HZ≈300HZ
Ttimer=2*Tclk*(Preload+1)
2、奇偶校验
奇校验:就是让原有数据序列中(包括你要加上的一位)1的个数为奇数,1000110(0)你必须添0这样原来有3个1已经是奇数了所以你添上0之后1的个数还是奇数个。
偶校验:就是让原有数据序列中(包括你要加上的一位)1的个数为偶数,偶校验实际上是循环冗余校验的一个特例,通过多项式x+ 1 得到1位CRC
// 奇偶校验位为并行Din最高位,即Din[7]
//高为奇校验-低为偶校验
//
module Parity_Generator(ParitySel,ParityBit,Din);
input ParitySel;
input [6:0] Din;
outpu