• 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

创作活动
0
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
返回

电子发烧友 电子发烧友

  • 全文搜索
    • 全文搜索
    • 标题搜索
  • 全部时间
    • 全部时间
    • 1小时内
    • 1天内
    • 1周内
    • 1个月内
  • 默认排序
    • 默认排序
    • 按时间排序
大家还在搜
  • 【开发教程4】AI语音人脸识别(会议记录仪-人脸打卡机)-GPIO

    需要了解两大寄存器:GPIODATA 寄存器、GPIODIR寄存器。 GPIODATA寄存器是数据寄存器。在软件控制模式下,如果对应的引脚通过 GPIODIR寄存器配置为输出模式,这写到GPIODATA

    2022-04-26 17:17

  • 【开发教程6】AI语音人脸识别(会议记录仪-人脸打卡机)-串口

    本帖最后由 疯壳科技 于 2022-4-29 11:46 编辑 CC3200AI实验教程 ——疯壳·开发板系列 串口 串行接口分为异步串行接口和同步串行接口两种。异步串行接口统称为通用异步收发器(UART)接口,同步串行接口有SPI和I2C等,同步串行接口除了包含数据线外,还包含时钟线。 本次实验中我们使用的是UART,也就是异步串行通信接口。UART的相关标准规定了接口的机械特性、电气特性和功能特性等,UART的电气特性标准包括 RS-232C、RS-422、RS-423和RS-485等,其中RS-232C是最常用的串行通信标准。RS-232C是数据终端设备(DTE)和数据通信设备(DCE)之间串行二进制数据交换接口技术标准,其中DTE包括微机、微控制器和打印机等,DCE包括调制解调器MODEM、GSM模块和Wi-Fi模块灯。 RS-232C机械特性规定使用25针D型连接器,后来简化为9针D型连接器。RS-232C的电气特性采用负逻辑:逻辑“1”的电平低于-3V,逻辑“0”的电平高于+3V,这个TTL的正逻辑(逻辑“1”表示高电平,逻辑“0”表示低电平)不同,因此通过RS-232C和TTL器件通信时必须进行电平转换。 目前微控制器的UART接口采用的是TTL正逻辑,和TTL器件连接不需要电平转换。和采用负逻辑的计算机相连接时需要进行电平转换(我们一般使用USB转串模块)。 CC3200包含两个可编程UART接口(UARTA0~1),主要特性如下: a、可编程的波特率发生器,允许速度高达3Mbps; b、独立的16*8发送和接口FIFO,减轻CPU中断处理负载; c、可编程FIFO长度,包括提供传统双缓冲接口的单字节操作; d、FIFO触发阈值包括1/8、1/4、1/2、3/4和7/8; e、标准的异步通信起始、停止和奇偶校验位。 CC3200的UART接口具有以下可编程串行接口特性: a、可编程的5、6、7或8位数据; b、偶、奇或无校验生成/检测; c、1或2个停止位生成; d、支持RTS和CTS调制解调器握手; e、标准的FIFO阈值中断和传输结束中断。 CC3200的UART支持DMA,使用DMA可实现高效传输,UART具有单独的DMA发送和接收通道。支持当FIFO中有数据的单个请求接收和可编程FIFO阈值的突发请求接收以及FIFO中有空间的单个请求发送和可编程FIFO阈值的突发请求发送。 1.1寄存器 UARTDR为数据寄存器(也是FIFOs的接口)。 在发送数据时,如果FIFO使能了,则写入该寄存器的数据会发送到发送FIFO 中。如果FIFO关闭,数据会被存储在发送保持寄存器中(发送FIFO最低一个字)。写该寄存器意味着通过串口发送。 在接收数据时,如果FIFO使能了,数据字节和4位状态位被发送到12位宽的接收FIFO中。如果FIFO关闭,数据字节和状态被存储在接收保持寄存器中(接收FIFO中的最低一个字)。可以通过读取该寄存器来获取接收数据。如图1.0.1所示为UARTDR寄存器,如图1.0.2为其位定义。 图1.0.1 UARTDR寄存器 图1.0.2 UARTDR寄存器位定义 UARTRSR_UARTECR是接收状态寄存器/错误清除寄存器。除了UARTDR寄存器之外,接收的状态位也可以通过UARTRSR寄存器获取。如果从该寄存器读取状态信息,则状态信息对应与在读取UARTRSR寄存器之前的UARTDR的状态信息。当有溢出条件发生时,状态位中的溢出标志位会立刻被置位。UARTRSR寄存器不能被写。写任何值到寄存器UARTECR中将会清除帧、校验、打断和溢出错误。复位会清零所有的位。如图1.0.3所示为UARTRSR_UARTECR寄存器,如图1.0.4为其位定义。 图1.0.3 UARTRSR_UARTECR寄存器 图1.0.4 UARTRSR_UARTECR寄存器位定义 UARTFR为标志寄存器。在复位之后,TXFF、RXFF和BUSY标志位为0,TXFE 和RXFE位为1。RI和CTS位指示调制解调器的控制流和状态。这里需要注意的是,调制解调位只在UART1中有效,在UART0中是保留位。如图1.0.5所示为UARTFR,图1.0.6为其位定义。 图1.0.5 UARTFR寄存器 图1.0.6 UARTFR寄存器位定义 UARTIBRD寄存器是波特率除数的整数部分。复位之后所有的位被清零。最小值为1(当UARTIBRD为0时),此时UARTFBRD寄存器无效。当改变UARTIBRD 寄存器时,只有在当前的字节传输完成之后才生效。波特率除数的任何改变都必须在写UARTLCRH寄存器之后。如图1.0.7所示为UARTIBRD寄存器。 图1.0.7 UARTIBRD寄存器 UARTFBRD寄存器是波特率除数的小数部分。复位之后所有的位被清零。当修改UARTFBRD寄存器的值时,只有在当前字节发送或者接收完成之后才会有效。波特率除数的任何改变都必须在写UARTLCRH寄存器之后。如图1.0.8所示为UARTFBRD寄存器。 图1.0.8 UARTFBRD寄存器 UARTLCRH寄存器是线控制寄存器。该寄存器控制串口的数据长度、校验和停止位的选择。当更新波特率除数寄存器的时候,必须也要重写该寄存器。因为波特率除数寄存器的写选通信号和该寄存器是连接在一起的。如图1.0.9所示为UARTLCRH寄存器,图1.1.0为其位定义。 图1.0.9 UARTLCRH寄存器 图1.1.0 UARTLCRH寄存器位定义 UARTCTL是控制寄存器。在复位之后,除了发送和接收使能位之外,其它位都被清零。UARTEN位用于使能UART模块。在配置串口模块时必须将该位清零。如果在串口进行发送或者接收的操作时关闭串口模块功能,则在完成当前发送或者接收操作之后才关闭。如图1.1.1所示为UARTCTL寄存器,如图1.1.2为其位定义。 注意:在UART使能的状态下,UARTCTL寄存器不能被改变,否则结果是无法预测的。修改UARTCTL寄存器时建议按照下面的操作进行: 1、关闭UART; 2、等待当前字节的发送或者接收操作完成; 3、通过清零UARTLCRH寄存器中的FEN位来清除发送FIFO; 4、重新写控制寄存器; 5、使能UART模块。 图1.1.1 UARTCTL寄存器 图1.1.2 UARTCTL寄存器位定义 UARTIFLS是选择FIFO产生中断阈值的寄存器。可以使用该寄存器来定义FIFO的阈值,同时UARTRIS寄存器中的TXRIS和RXRIS位被触发。产生中断是基于一个发送操作超过阈值而不是等于阈值。也就是说FIFO中的数据超过规定的阈值之后才会产生中断。例如,如果接收的触发阈值设置为一般(8字节),那么在串口模块接收到第9个字节的时候才会产生中断。在复位之后,TXIFLSEL和RXIFLSEL位被配置,所以FIFOs在接收一半时触发中断。如图1.1.3所示为UARTRIS寄存器及其位定义。 图1.1.3 UARTIFLS及其位定义 UARTIM是中断掩码置位/清零寄存器。读取该寄存器则获得当前中断的掩码值。进行置位时,对应的中断将被发送到中断控制器。清零操作则对应的中断不会被发送到中断控制器。如图1.1.4所示为UARTIM寄存器,如图1.1.5为其位定义。 图1.1.4 UARTIM寄存器 图1.1.5 UARTIM寄存器位定义 UARTRIS是源中断状态寄存器。可以读取到当前中断源。写操作无效,如图1.1.6所示为UARTRIS寄存器,如图1.1.7为其位定义。 图1.1.6 UARTRIS寄存器 图1.1.7 UARTRIS寄存器位定义 UARTMIS是中断掩码状态寄存器。读该寄存器获取对应中断的掩码值。写操作无效。如图1.1.8所示为UARTMIS寄存器,如图1.1.9为其位定义。 图1.1.8 UARTMIS寄存器 图1.1.9 UARTMIS寄存器位定义 UARTICR是中断清零寄存器。置位则对应的中断被清除(清除中断源寄存器和中断掩码寄存器中对应的位),清零操作无效。如图1.2.0所示是为UARTICR寄存器,如图1.2.1为其位定义。 图1.2.0 UARTICR寄存器 图1.2.1 UARTICR寄存器位定义 UARTDMACTL是DMA控制寄存器。如图1.2.2所示为UARTDMACTL寄存器及其位定义。 图1.2.2 UARTDMACTL寄存器及其位定义 1.2实验现象 打开CC3200_Uart_Demo文件夹里的工程,该工程主要是把CC3200的UARTA0的波特率为115200bps,8位数据位,1个停止位,无奇偶校验位,如图1.2.3所示。 图1.2.3 串口参数设置 当串口接收到数据后,把接收到的数据再通过串口发送出去,编译工程,打开Uniflash,把bin文件下载到CC3200板子上(具体步骤请参考GPIO小节)。 把“CH340G_VCC”和串口选择的第一个“RXD”和第二个“TXD”拨码开关均拨到“ON”。 插上USB数据线接到电脑,打开串口助手,选择串口号,波特率设置为115200bps,按下板子的复位可见串口打印,如图1.2.4所示。 图1.2.4 复位时串口打印 在发送框内输入疯壳的网址,点击发送,串口助手收到CC3200的回传,如图1.2.5所示。 图1.2.5 串口助手收到回传视频地址:http://www.fengke.club文件下载请点击:

    2022-04-29 11:42

  • 【开发教程7】AI语音人脸识别(会议记录仪-人脸打卡机)-中断

    CC3200AI实验教程 ——疯壳·开发板系列 中断 接口数据传送控制方式有查询、中断和DMA等,中断是重要的接口数据传送控制方式。中断控制分为全局和局部两级,全局中断由NVIC控制,局部中断由外设控制。 嵌套向量中断控制器NVIC支持多个内部异常和多达240个外部中断。从广义上讲,异常和中断都是暂停正在执行的程序转去执行异常或中断处理程序,然后返回原来的程序继续执行。从狭义上将,异常由内部事件引起,而中断有外部硬件产生。 异常和中断的处理与子程序调用有相似之处,但也有下列本质区别: 什么时候调用子程序是确定的,而什么时候产生异常和中断时不确定的。子程序的起始地址由调用程序给出,而异常和中断程序的起始地址存放在地址表中。 子程序的执行一般是无条件的,而异常和中断处理程序的执行要先使能。 CC3200的NVIC具有下列特性: a、确定的、快速的中断处理,总是12个时钟周期; b、每个中断的优先级可编程(0~7,0表示最高优先级); c、3~8位优先级配置; d、动态重新分配中断优先级; e、中断优先级分组允许选择中断优先级分组和中断子优先级的数量。低延迟中断和异常处理; f、中断信号电平和边沿检测。 1.1寄存器 本小节将使用的GPIO外部中断来实现按键的功能。每个GPIO端口的中断功能通过7个寄存器来进行控制。这些寄存器用来选择中断源、中断优先级和边沿特性。当一个或者多个GPIO输入引起中断时,一个单中断信号输出到整个GPIO端口的中断控制器。 下面三个寄存器定义了引起中断的边沿或检测: a、GPIOIS:GPIO 中断检测寄存器; b、GPIOIBE:GPIO中断边沿寄存器; c、GPIOIEV:GPIO中断时间寄存器。 中断功能通过GPIO中断掩码(GPIOIM)寄存器来进行使能和关闭。 当一个中断条件产生时,有两个地方可以查看中断信号的状态:GPIO源中断状态(GPIORIS)寄存器和GPIO掩码中断状态(GPIOMIS)寄存器。正如名称暗示的那样,GPIOMIS寄存器只显示可以发送给中断控制器的中断条件。GPIORIS 寄存器表示一个 GPIO引脚达到了产生中断的条件,但是不一定会发送给中断控制器。 如果是GPIO电平检测中断,产生中断的电平信号必须保持到中断服务的产生。一旦输入的信号解除中断产生的逻辑信号,对应的GPIORIS寄存器中的源中断寄存器位将被清零。对于GPIO边沿检测中断,GPIORIS寄存器中的RIS位通过向寄存器GPIOICR中的对应位写入1来进行清零。GPIOMIS寄存器中的对应位反应源中断状态位的掩码值。 当编辑中断控制寄存器时,应当将中断全部关闭(GPIOIM清零)。如果对应的位使能的话,则写任何中断控制寄存器都会产生不必要的中断 GPIOIS是中断检测寄存器。置位则对应的引脚进行电平检测,清零则对应的引脚进行边沿检测。在复位时,所有的位清零。如图1.0.1所示。 注意:为了防止产生错误的中断,在配置中断检测寄存器和边沿寄存器的时候,应当清零GPIOIM寄存器中的IME位来屏蔽中断引脚。配置GPIOIS寄存器的IS位和GPIOIBE寄存器的IBE位。清除GPIORIS寄存器。最后通过置位GPIOIM寄存器中的IME位来打开引脚。 图1.0.1 GPIOIS寄存器 GPIOIBE寄存器允许双边沿来触发中断。当GPIOIS寄存器设置为检测边沿时, 则设置GPIOIBE寄存器来配置对应的引脚来检测上升和下降沿,而忽略 GPIOIEV 寄存器中的对应位的配置。清零一位则配置为引脚受GPIOIEV寄存器的控制。复位之后,所有的位都被清零。如图1.0.2所示。 注意:为了防止产生错误的中断,在配置中断检测寄存器和边沿寄存器的时候,应当清零GPIOIM寄存器中的IME位来屏蔽中断引脚。配置GPIOIS寄存器的IS位和GPIOIBE寄存器的IBE位。清除GPIORIS寄存器。最后通过置位GPIOIM寄存器中的IME位来打开引脚。 图1.0.2 GPIOIBE寄存器 GPIOIEV寄存器是中断事件寄存器。置位该寄存器中对应的位来配置对应的引脚检测上升沿或者高电平,这取决于GPIOIS 寄存器对应位的配置。清零该寄存器中的对应位则对应的引脚检测下降沿或者低电平,这取决于GPIOIS寄存器中对应位的配置。复位之后所有的位都清零。如图1.0.3所示。 图1.0.3 GPIOIEV寄存器 GPIOIM寄存器是中断掩码寄存器。置位该寄存器中的对应位,则对应引脚上产生的中断将通过组合中断信号发送给中断控制器。清零则对应的引脚产生的中断不会发送给中断控制器。复位之后所有的位都清零。如图1.0.4所示。 图1.0.4 GPIOIM寄存器 GPIORIS寄存器是源中断状态寄存器。当对应的引脚达到中断条件时,该寄存器中对应的位被置位。如果中断掩码(GPIOIM)寄存器中的对应位被置位,则发送中断信号到中断控制寄存器。某一位读取为0,则说明对应的引脚没有产生中断。对于电平触发中断,引脚上的中断信号必须保持到中断服务。一旦中断信号达不到中断逻辑检测要求,则GPIOIS寄存器对应的RIS位将被清零。对于一个GPIO边沿检测中断,GPIORIS寄存器中的RIS位通过置位GPIOICR寄存器中对应的位进行清零。GOUIMIS寄存器中的位反映RIS位的掩码值。如图1.0.5所示。 图1.0.5 GPIORIS寄存器 GPIOMIS寄存器是掩码中断状态寄存器。如果寄存器中对应位被置位,则对应的中断将被发送到中断控制器。如果某一位被清零,则无论是否有中断产生, 中断都会被屏蔽掉。GPIOMIS寄存器是中断掩码之后的状态。如图1.0.6所示。 图1.0.6 GPIOMIS寄存器 GPIOICR寄存器是中断清零寄存器。对于边沿检测中断,置位GPIOICR寄存器中对应的位,则会清除GPIORIS和GPIOMIS寄存器中对应的位。如果中断是电平检测,则该寄存器中的对应位没有影响。另外,向该寄存器中写入0也没有任何影响。如图1.0.7所示。 图1.0.7 GPIOICR寄存器 1.2实验现象 本实验在是官方CC3200SDK_1.2.0中Interrupt例程代码的基础上修改得来的,打开Interrupt_Demo,由于本次实验用到串口和按键,所以在mian函数的PinMuxConfig()中配置了串口0的输入输出以及GPIO_13和GPIO_22的方向为输入。 本次实验的关键是在ButtonIntInit()函数中,该函数如图1.0.8所示。 图1.0.8 ButtonIntInit()函数 在该函数中吧GPIO_13与GOIO_22配置为下降沿触发,触发的中断函数为Button1IntHandler()以及Button2IntHandler(),进入中断后,首先清除标志位,然后通过串口0打印出“Button1”以及“Button2”。 打开Uniflash,把编译后生成bin文件下载到板子上(参考GPIO小节),把串口选择的拨码的第一个“RXD”以及“CH340G_VCC”拨到ON,这里我们用到了串口0的接收,打开串口调试助手,选择对应的串口号,波特率设置为115200,打开串口,a按下复位,可以看到串口打印信息如图1.0.9所示。 图1.0.9 复位时串口打印 按下板子上的SW2和SW3可以看到串口打印信息如图1.1.0所示。 图1.1.0 按下按键后串口打印 配套资料:http://www.fengke.club 详情地址:http://shop115904315.taobao.com/ 文件下载请点击:

    2022-05-05 16:46

  • 移动互联网时代,中小企业视频会议软件哪个好

    视频会议系统和软件视频会议系统,而对于中小企业而言,普遍的远程会议方式主要分为自建硬件视频会议、自建

    2016-02-17 14:49

  • 视频会议系统/远程会议解决方案分为几种

    随着互联网公司的崛起,特别是大型企业集团化和分公司等管理模式的建立。视频会议越来越受重视,要对视频会议有一个完整认识,需要从视频会议的方案区别上来看。同时由于移动终端的崛起,

    2021-11-03 07:02

  • 【开发教程1】疯壳·AI语音人脸识别(会议记录仪-人脸打卡机)-开发环境搭建

    CCS UniFlash、软件包 CC3200 SDK、支持包 ServicePack 以及图形化代码代码生成工具 TI Pin Mux Tool。1.1IAR 安装CC3200 可选择的集成开发

    2022-07-27 10:14

  • 【开发教程17】AI语音人脸识别(会议记录仪-人脸打卡机)-AI人脸注册认证与识别

    AI人脸识别系统的串口指令表。 表1.0.1 AI人脸识别系统串口指令表 表1 为了方便调试,最好提前把这些指令添加到串口调试助手中,使用时直接点击发送即可。如图1.0.3所示为把指令添加到SSCOM

    2022-06-15 19:17

  • 【开发教程2】疯壳·AI语音人脸识别(会议记录仪-人脸打卡机)-系统测试

    会给予每一个套件唯一的32位注册ID码以及唯一32位的设备PN码。首先使用手机打开疯壳官网www.fengke.club并且登录(如未注册请先注册),在最下面一栏中切换到“个人”,如图1.0.1所示。图

    2022-07-27 11:51

  • 【开发教程2】AI语音人脸识别(会议记录仪/人脸打卡机)-系统测试

    大家对拿到的CC3200AI开发套件进行注册。发货时会会给予每一个套件唯一的32位注册ID码以及唯一32位的设备PN码。首先使用手机打开疯壳官网www.fengke.club并且登录(如未注册请先注册

    2022-04-25 14:17

  • 【开发教程5】AI语音人脸识别(会议记录仪-人脸打卡机)-定时器

    ;16位通用定时器,带8位预分频器;16位输入边沿计数或时间捕捉模式,带8位预分频器;16位脉冲宽度调制模式(PWM),带8位预分频器和软件可编程输入。具有以下特性: a、向上或向下计数; b、16个

    2022-04-27 13:59