< >呜呼哀哉,看来还有些搞头,昨天可能示波器没调好,今天仔细调了一下,spi的引脚都有波形了,仔细的分析了一下,有些地方没搞懂。在ee240里,详细说明了用atmel的spirom的启动过程,简要的来说,就是发送读命令字0x03,如果连续3次独处的数据都是0xff,那么认为spirom是atmel的45db系列,然后读spirom的状态寄存器来判定是161,081,还是041。接下来就开始读具体的数据了。我现在测到的波形是这样的,开始mosi发送0x03,然后过了4x8个时钟,mosi发送B11010111...到了这里其实就不对了,因为按照ee240说法,这个B11010111应该是读取spirom状态寄存器的命令,可是45db系列此命令为0x57,如果忽略最高位,是对的(这里我应该没有读错,因为我测了好多次),而奇怪的是,在miso上竟然有返回的数据B10101100,这正是45db161空闲时状态寄存器的值!!!这里勉强还能说得过去。到了后面,mosi发送的是B11101000,这个命令让我很迷惑,因为找不到类似的(45db系列,读写命令都只有0x5x,0x6x,0x8x),而明显的不应该发送写命令(0x8x),后面的数我就更理解不了了。我申请到的bf532是0.4版本,不知道与0.3版有什么变化(没找到相关的说明)。现在总的现象是,上电后出现的是上面的过程,然后就是循环的另一个过程(很复杂,但应该不是读具体的数据,因为时钟太慢,大约100k,而且miso只在几个固定的位置变低)。</P>
[此贴子已经被作者于2006-10-17 16:00:25编辑过] |