首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

spi协议讨论

spi协议讨论

CPHA=0or1,是控制什么的呢?我看了一个gp32的datasheet,他的CPHA=0,cpol=0与CPHA=1,cpol=0的mosi线时序是一样的。
因为我要用软件来实现spi协议,所以对时序要求很严格。
CPHA 选择时钟信号的相位:若 CPHA = 0,在时钟信号的前沿进行数据采样;若 CPHA = 1,在时钟信号的后沿进行数据采样。
当 CPHA = 0,从机需采用 SS 信号的下跳沿作为数据传送的起始信号,所以每发送/接收一个字节,SS 信号须跳变一次。
海纳百川  有容乃大
可是datasheet里面,capture strobe 都是在信号的中间呀,还有CPHA =1,什么指示数据传送的起始信号?
Rst_Bit_Cnt:    LDA     #!8                             ;Bit counter

Hold_Low:       BRCLR   3,PTA,*                         ;Clock is initially low: wait here.
                BRCLR   3,PTA,*                         ;Debounce
                BCLR    2,TBCR                          ;Mask TBM interrupts.
                BCLR    5,TSC                           ;The timer starts counting here.
                BRSET   3,PTA,*                         ;Clock has gone high: wait for falling edge.
                BRSET   3,PTA,*                         ;Debounce
                BRSET   2,PTA,Store_Data                ;Falling edge detected: load data into carry bit.

Store_Data:     ROL     DATA-1,X                        ;Rotate data from carry into RAM.
                BSET    4,TSC                           ;Reset the timer counter registers.

                DBNZA   Hold_Low                        ;Check if a whole byte received.
                DBNZX   Rst_Bit_Cnt                  
这是一段spi的程序,他符合模式CPHA =1,cpol=0吗?我认为不符合呀
返回列表