只要两步,教你在SigmaStudio中正确使用GPIO
扫描二维码
随时随地手机看文章
第一步
如何访问GPIO引脚
通过工具箱(ToolBox)中IO部分内的通用输入和输出单元,可在SigmaStudio中访问GPIO引脚。
图1. GPIO ToolBox Cells
图2. GPIO原理图单元
点击下拉式菜单,以便访问所有可用的GPIO引脚。这些单元与Sigma-Studio中的其它单元一样用线路连接,控制信号输入和输出的显示颜色为红色。
辅助ADC输入单元的工作方式都相同。
图3. 辅助ADC的输入单元
第二步
如何设置GPIO引脚
必须使用SigmaStudio中的寄存器控制窗口单独配置GPIO引脚。GPIO寄存器控制的示例如图4、图5和图6所示。
图4. ADAU170x寄存器控制窗口的GPIO部分
图5. ADAU144x寄存器控制窗口的GPIO部分
图6. ADAU176x寄存器控制窗口的GPIO部分
在此处,根据接口电路可适当设置GPIO引脚。可进行的设置包括:“输入GPIO去抖动”、“输入GPIO无去抖动”、“输出GPIO”、“输出GPIO集电极开路”以及ADC。此外,某些器件可通过这些引脚,来输入或输出数字音频数据或时钟。在某些器件上,GPIO引脚标有MP(多用途)字样,但它们的使用方法是相同的。
输入GPIO去抖动
将开关或按钮与GPIO引脚连接时,触点抖动(也称为振动)是最常见的问题。由于许多机械和电气方面的因素,在切换过程中,可能会随机出现一系列振荡现象。为降低这些影响,则应当将时基去抖电路集成到特定SigmaDSP的GPIO电路中。通常,在寄存器控制窗口的GPIO部分可设置去抖时间。内核会从每个音频帧相关的寄存器处读取输入值。
图7. 具有去抖数据流的输入GPIO
输入GPIO无去抖动
对于不受触点抖动影响的输入(比如:外部逻辑IC处的输出),可通过该设置旁路去抖电路。内核会从每个音频帧相关的寄存器处读取输入值。
图8. 具有无去抖数据流的输入GPIO
输出GPIO
该设置可使引脚用于数字输出。通常,每个引脚最大可驱动的电流为几毫安。如需了解更多信息,请参见相关的SigmaDSP数据手册。GPIO引脚会从每个音频帧相关的寄存器处读取输入值。
图9. 输出GPIO数据流
输出GPIO集电极开路
该设置将引脚置于集电极开路或开漏输出模式(取决于器件内部电路),并且需要一个外部上拉电阻。该上拉电阻可与不同的IOVDD电源连接,但不能与DSP的电源连接,因此,如果连接不同逻辑电平下的IC,该模式非常有用。GPIO引脚会从每个音频帧相关的寄存器处读取输入值。
图10. 输出GPIO集电极开路数据流
由控制端口驱动输入
在该模式中,GPIO引脚被旁路,内核会从相关寄存器读取相应的值。可通过控制端口来读写该寄存器的值。如果使用外部主控制器来控制信号流的各元素,则该模式将十分有用。内核会从每个音频帧相关的寄存器处读取输入值。
图11. 由控制端口驱动输入数据流
由控制端口驱动输出
在该模式中,内核中的信号流不影响相关GPIO引脚的输出,并且引脚会从相关寄存器读取相应的输出值。可通过控制端口来读写该寄存器的值。
对于直接控制电路的元素(比如:通过外部主控制器与GPIO引脚相连接的LED),该模式非常有用。GPIO引脚会从每个音频帧相关的寄存器处读取输入值。
图12. 由控制端口驱动输出数据流
ADC
在ADC模式下设置引脚时,引脚就相当于辅助ADC的一个多路复用输入端。在ADAU170x,上,应当激活反相位,以便正确使用ADC功能。尽管ADC的采样速率取决于所使用的特定SigmaDSP,但内核仍会从每个音频帧的ADC读取输入值。
图13. ADC数据流
在SigmaStudio™图形编程软件内,可对GPIO引脚进行分配,以使其控制音频信号处理程序或受该程序的控制。器件运行期间,可更改引脚的功能。如果用户接口使用GPIO引脚,则可减少或无需使用微控制器,这样就能大大减少简单音频系统的成本。
免责声明:本文内容由21ic获得授权后发布,版权归原作者所有,本平台仅提供信息存储服务。文章仅代表作者个人观点,不代表本平台立场,如有问题,请联系我们,谢谢!