單片機常用晶振頻點11.0592Mhz緣由
最主要的緣由是能夠準確劃分時鐘頻率,它與UART的波特率密切相關,特別是出現高的波特率(19600,19200)時,11.0592Mhz能準確提供實時信號。
其次,選用這個晶振頻點和單片機中的定時器有關聯。用51單片機的定時器做波特率發生器時,如果用11.0592Mhz的晶振,根據公式算下來需要定時器設置的值都是整數;如果用12Mhz晶振,則波特率都是有偏差的,比如9600,用定時器取0XFD,實際波特率10000,一般波特率偏差在4%左右都是可以的,所以也還能用STC90C516 晶振12M 波特率9600,倍數時誤差率6.99%,不倍數時誤差率8.51%,數據肯定會出錯。 這也就是串口通信時大家喜歡用11.0592MHz晶振的原因,在波特率倍速時,最高可達到57600,誤差率0.00%。 用12MHz,最高也就4800,而且有0.16%誤差率,但在允許范圍,所以沒多大影響。
單片機系統PCB中的晶振
單片機系統PCB中的晶振常常被要求緊靠單片機,這是因為晶振是通過電激勵來產生固定頻率的機械振動,而振動又會產生電流反饋給電路,電路接到反饋后進行信號放大,再次用放大的電信號來激勵晶振機械振動,晶振再將振動產生的電流反饋給電路,如此這般。當電路中的激勵電信號和晶振的標稱頻率相同時,電路就能輸出信號強大,頻率穩定的正弦波。整形電路再將正弦波變成方波送到數字電路中供其使用。
另晶振的輸出能力有限,僅輸出以毫瓦為單位的電能量。在 IC(集成電路) 內部,通過放大器將這個信號放大幾百倍甚至上千倍才能正常使用。晶振和 IC 間一般是通過銅走線相連的,這根走線可以看成一段導線或數段導線,導線在切割磁力線的時候會產生電流,導線越長,產生的電流越強。現實中,磁力線不常見, 電磁波卻到處都是,例如:無線廣播發射、電視塔發射、手機通訊等等。晶振和IC之間的連線就變成了接收天線,它越長,接收的信號就越強,產生的電能量就越強,直到接收到的電信號強度超過或接近晶振產生的信號強度時,IC內的放大電路輸出的將不再是固定頻率的方波了,而是亂七八糟的信 號,導致數字電路無法同步工作而出錯。所以,畫PCB(電路板)的時候,晶振離它的放大電路(IC管腳)越近越好。
單片機電路中的晶振
在單片機電路使用過程中,有時候會出現晶振不起振的原因,總結下來有以下幾點:
單片機電路中受單片機質量、PCB板布線錯誤、PCB板受潮,導致阻抗失配而不能起振和外圍電路的影響。
晶振中受晶振質量、負載(匹配)電容與晶振不匹配、晶振電路的走線過長或者有走線和外圍電路的影響。
單片機中12Mhz晶振的電容數據來源
常選用內部時鐘電路來分析電容數據。其實這兩個電容沒人能夠解釋清楚到底怎么選值,因為22pF實在是太小了。這個要說只能說和內部的振蕩電路自身特性有關系,搭配使用,用來校正波形,沒有人去深究它到底為什么就是這么大的值。