Re: [问题] 从软件动作到硬件讯号

楼主: lihgong ( )   2020-03-24 18:03:01
1. 首先是写内存某个地方,会让CPU对bus发出write transaction (当然可能不是真的
bus,这里就简单一点)
2. bus上会挂很多peripheral,比如timer,gpio,每个都会监看特定区域的写入(或读
取),如果是装置在意的,就会去看看CPU要他做什么
3. 写入某个address,就会有write request,这时候peripheral可以放上真的flip-flops,让这个address是可以读写;也可以不放,这样就是write only,事后无法读回刚刚写
的数值
4. 简单一点,有颗32bit flip-flops兜出来的register,里面储存你写入的数值。所以
现在IC某处有一排flip-flops,存下你写入的数值。你可以想像32bit对应32pins
5. 接下来有个GPIO output线路,里面有一堆复杂的设定,比如pull up/pull down/ ope
n drain。假设是push-pull,这个flip-flops的线就拉到这个输出线路,最后就到达outp
ut pin,你就可以透过电表量到电压了
以上是话唬烂的解说,我不是IC designer,如果说错请见谅
※ 引述《james732 (james732)》之铭言:
: 我的工作是在MCU上写code
: 目前知道程式跟硬件打交道都是透过硬件暂存器
: 通常暂存器会mapping到某个memory address
: 譬如我把memory address的0x1000的Bit0写成1
: MCU的某一根GPIO就会输出High讯号
: 但我一直不懂的是,从写入到真正输出High这段过程
: 硬件实际上是怎么做的
: 它怎么知道我有写,又怎么知道要怎么输出High
: 如果想针对这部份(芯片内部的行为)做更深入的学习的话
: 有什么关键字/什么参考资料可以去阅读呢?
: 因为自己是软件背景,对于芯片的动作觉得很神奇又很好奇XD
作者: james732 (好人超)   2020-03-24 22:53:00
谢谢你的说明,好像有点概念了

Links booklink

Contact Us: admin [ a t ] ucptt.com