基于FPGA的SPI總線在軟件接收機(jī)上的應(yīng)用
3.2 模塊設(shè)計(jì)
3.2.1 分頻模塊
由于SPI總線協(xié)議要求的SCK時(shí)鐘頻率與FPGA時(shí)鐘頻率不一致,所以對(duì)基帶時(shí)鐘進(jìn)行分頻。本文中,基帶時(shí)鐘頻率為40 MHz,SPI總線時(shí)鐘頻率為1 MHz,故需要進(jìn)行40倍分頻。
3.2.2 發(fā)送數(shù)據(jù)模塊
在片選信號(hào)拉低之前,時(shí)鐘信必須為低電平。當(dāng)片選信號(hào)拉低后,SCK開始工作,然后寫八位地址,接著寫32位數(shù)據(jù);發(fā)送操作結(jié)束后,片選信號(hào)拉高,SCK=0。代碼如下:
3.2.3 接收數(shù)據(jù)模塊
當(dāng)片選拉低后,SCK=0,同時(shí)寫八位地址并且使SDA為高阻,再讀32位數(shù)據(jù);當(dāng)片選拉高時(shí),CS=1,SCK=0,此外,在片選信號(hào)拉低之前,SCK必須為低電平。代碼如下:
評(píng)論