SigmaDSP®系列多款器件均内置通用输入/输出(GPIO)引脚,这些引脚可与外部硬件元件(如:LED、按钮或旋转编码器)连接,某些还可多路复用至辅助ADC,这就使得电位器或模拟控制电压可直接连接到IC。本文简要说明如何在专用于SigmaDSP音频处理器的编程、开发和调整软件的图形开发工具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引脚,则可减少或无需使用微控制器,这样就能大大减少简单音频系统的成本。
-
GPIO
+关注
关注
16文章
1196浏览量
51920 -
SigmaStudio
+关注
关注
2文章
5浏览量
5882 -
adau170x寄存器
+关注
关注
0文章
1浏览量
1427
原文标题:在图形开发工具SigmaStudio中正确使用GPIO,只需两步
文章出处:【微信号:analog_devices,微信公众号:analog_devices】欢迎添加关注!文章转载请注明出处。
发布评论请先 登录
相关推荐
评论