• 发文章

  • 发资料

  • 发帖

  • 提问

  • 发视频

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

电子发烧友 电子发烧友

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

    GPIO GPIO全称General Purpose Input Output即通用的输入输出,是所有控制器里必备的资源,CC3200的所有数字引脚和部分模拟引脚均可作为通用的输入输出引脚(GPIO)使用,CC3200把GPIO分为三个组,分别是GPIOA0、GPIOA1、GPIOA2、GPIOA3,每一组GPIO有8个引脚,引脚分配如表1.0.1所示: 表1.0 .1CC3200引脚分配表 表1 根据功能引脚配置的不同,CC3200最多可以有27个GPIO,且所有的GPIO引脚均具有中断功能,触发的方式支持电平触发和边沿触发(上升沿和下降沿),不仅如此,所有的GPIO都可以用于触发DMA、可作为唤醒源,GPIO引脚可编程:可配置为内部10uA上拉或下拉,驱动能力可调节为:2mA、4mA、6mA、8mA、10mA、12mA、14mA,同样也支持开漏模式。 对GPIO进行操作时,主要需要了解两大寄存器:GPIODATA 寄存器、GPIODIR寄存器。 GPIODATA寄存器是数据寄存器。在软件控制模式下,如果对应的引脚通过 GPIODIR寄存器配置为输出模式,这写到GPIODATA 寄存器中的值会被传到对应引脚输出。GPIODATA 寄存器有256个别名地址,偏移值为0x000到0x3ff。一个不同地址别名可以用来直接读/写任何8个信号位的组合。这个特性可以避免读-改-写和软件读的位掩码的时间消耗。 在该方案中,为了写GPIODATA寄存器,掩码中的对应位对应于总线中[9..2] 位必须被置位。否则在进行写操作时,对应位的值不会被改变。同样,进行读操作时,也是对应总线中的[9..2],在读取对应位时,也必须置位,否则读取为 0。 如果引脚配置为输出模式,则读取GPIODATA寄存器返回最后一次写入的值;如果配置为输入模式则返回对应引脚的值。所有位都可以通过复位清零。 如图1.0.1所示为GPIODATA寄存器。 图1.0.1 GPIODATA寄存器 GPIODIR 寄存器是数据方向寄存器。在 GPIODIR 寄存器中设置一位将对应的引脚配置为输出;清除一位对应的引脚配置为输入。复位时多有位都清零,也就是说所有的 GPIO 引脚默认是输入。如图1.0.2所示为GPIODIR寄存器。 图1.0.2 GPIODIR寄存器 打开配套的代码例程,打开GPIO文件夹下的IAR工程,如图1.0.3所示为主函数。 图1.0.3 GPIO的主函数 1.1Ti Pin Mux Tool工具 PinMuxconfig()函数可由TI Pin Mux Tool工具生成,打开TI Pin Mux Tool工具,如图1.0.4所示,第一步,在Device内找到CC3200,第二步点击“Start”。 图1.0.4 TI Pin Mux Tool 如图1.0.5所示,第一步点击“GPIO”处的添加,默认是选取全部GPIO;第二步,把“GPIO Signals”前面的勾去掉,去除全选;第三步,选择GPIO_9、GPIO_10、GPIO_11(对应开发板上的三颗LED);驱动LED需要GPIO输出,第四步,把三个GPIO的“Output”勾选上。 图1.0.5 TI Pin Mux Tool配置步骤 最终完成的如图1.0.6所示。在最右边的Generated Files处点击,把“pin_mux_config.c”和“pin_mux_config.h”下载下来添加到工程里即可。 图1.0.6 配置完成示意图 生成好的端口配置函数如图1.0.7所示,该函数主要是对LED对应的端口开启时钟、设置方向等。 图1.0.7 端口配置函数 配置好后,通过GPIO_IF_LedConfigure()函数把LED端口进行处理,即把各个LED的端口所对应的端口组,以及属于该组中的第几个IO提取出来。如图1.0.8所示。 图1.0.8 端口处理 完成上面两步后,先关闭所有的LED,然后在一个死循环内执行“流水”部分,即按顺序以一定的时间间隔开闭LED,如图1.0.9为“流水”效果实现代码。 图1.0.9“流水效果”实现代码 1.2代码下载 编译程序,生成了相对应的bin文件,下载前,先插上仿真调试器Ti Stellaris,在把旁边的拨码开关的“RX”和“TX”拨到“ON”,把启动方式拨码选择为FLASH启动,即把SOP2拨到“ON”。 打开下载工具Uniflash,点击快速启动向导中的“新目标配置”,在弹出的配置对话框中选择CC3x Serial(UART) Interface,然后点击OK。如图1.1.0所示。 图1.1.0选择下载的芯片以及方式 然后在COM Port中输入板子连接的串口号(根据自己的电脑来进行选择), 如图1.1.1所示。 图1.1.1 串口号选择 初次使用板子时,先烧写Sevcie Pack,否则程序可能无法运行,如图1.1.2所示点击“Sevice Pack Programming”,选择之前安装的Sevicepack安装文件夹目录下的bin文件即可,如果之前已经向CC3200烧写过Sevice Pack的这一步可以忽略。 图1.1.2 SevicePcak的烧写 在左侧点击/sys/mcuimg.bin,然后在右侧 URL 中选择刚编译生成的bin文件,然后选中下方的Erase和Update。如图1.1.3所示。 图1.1.3 选择下载的目标 然后点击“CC31xx/CC32xx Flash Setup and Control”,点击 Program 进行下载,如图1.1.4所示。 图1.1.4下载bin文件 根据软件下方的提示,按下复位按键就可以看到下载的相关信息,如图1.1.5所示。 图1.1.5 bin文件下载中 下载完成如图1.1.6所示。 图1.1.6 下载完成 1.3实验现象 把下载前的改变的拨码开关拨回原处。再把拨码开关“D5”、“D6”和“D7”拨到“ON”,使IO口与LED建立连接关系,按下复位开关,可以看到三颗LED呈“流水”状闪烁,如图1.1.7所示为该实验现象。 图1.1.7 实验现象 视频地址:https://www.fengke.club 文件下载请点击:

    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

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

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

    2022-06-15 19:17

  • 最好用的模拟电路电子技术资料,试用于初学者。

    最好用的模拟电路电子技术资料,试用于初学者。简单易学易懂,图文并茂。非常好!

    2016-10-28 17:27

  • 【开发教程16】AI语音人脸识别(会议记录仪-人脸打卡机)-AI人脸图像采集

    1.0.3 摄像头初始化部分 图3 摄像头底层驱动部分主要包含在mt9d111.c和camera_app.c中。获取摄像头PEG图像数据的函数如图1.0.4所示。 图1.0.4 获取摄像头JPEG

    2022-06-13 18:21

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

    CC3200AI 实验教程 ——疯壳·开发板系列开发环境搭建CC3200 的开发涉及到多种开发环境及工具,例如集成开发环境IAR 或者Code Composer Studio(CCS)、固件下载工具 CCS UniFlash、软件包 CC3200 SDK、支持包 ServicePack 以及图形化代码代码生成工具 TI Pin Mux Tool。1.1IAR 安装CC3200 可选择的集成开发环境有多种,常见的有两种,一种是使用 TI 官方的开发环境 Code Composer Studio 另一种是使用 IAR。由于 AI 人工智能套件的实验工程源码是在 IAR 环境下开发的,故这里只讲 IAR。IAR 针对不同的硬件有多种版本,例如 IAR for ARM、IAR for stm8 等,由于CC3200 属于 ARM Cortex M4 内核,这里选择 IAR for ARM ,该软件可以从 IAR 的官网 www.iar.com 下载。如图 1.0.1 所示为下载好的 IAR for ARM 7.4 安装包。图 1.0.1 IAR for ARM 7.4 安装包双击打开该 exe 文件,出现如图 1.2 所示 IAR 安装选择界面。图 1.0.2 IAR 安装选择界面这里点击“Install IAR Embedded Workbench”开始开发环境的安装,下一步会进入安装向导的界面,如图 1.0.3 所示为安装向导界面。图 1.0.3安装向导界面点击 Next,进入许可协议界面,如图 1.0.4 所示,选择“I accept the terms of the license agreement”,然后点击“Next”。图 1.0.4 IAR 许可协议界面进入到安装路径选择界面,打开“Change”,选择一个安装路径(英文路径)。在这里安装到 D 盘下新建的“IarforArm”,如图 1.0.5 所示。图 1.0.5 IAR 安装路径选择点击“Next”,进入驱动选择安装界面,如图 1.0.6 所示,为了避免日后可能会用到各种不同的调试接口,这里默认选择全部。图 1.0.6驱动选择安装界面继续点击“Next”,进入 IAR 名称设置界面默认选择即可,如图 1.0.7 所示。图 1.0.7 IAR 名称更改界面继续点击“Next”,进入正式安装界面,如图 1.0.8 所示,点击“Install”开始安装。图 1.0.8正式安装界面等待进度条走完,期间会提示 USB 驱动的安装,选择“是”即可,如图 1.0.9所示。图 1.0.9驱动安装界面之后会安装 USB 的驱动,安装完 USB 驱动后便完成了整个 IAR for ARM 的安装,如图 1.1.0 所示。图 1.1.0 IAR for ARM 安装完成去掉前面两个“√”,点击“Finish”,此时会弹出“P&E 设备驱动安装”, 点击“I agree”,之后会进入路径选择,驱动的路径统一选择默认,点击“Install”,接下来的弹窗均为默认即可。到此,完成 IAR for ARM 的安装,在 Windows 操作系统的“开始”界面下可以找到 IAR Embedded Workbench,如图 1.1.1 所示。图 1.1.1 IAR for ARM 启动图标此时,得到的 IAR 是未正式授权的版本,需要得到 license 授权才可以,具体可以到 www.iar.com 下购买。1.2CCS UniFlash 安装CCS UniFlash 是 TI 官方的一款下载软件,用于 CC3200 固件的烧写,具体可以到 http://processors.wiki.ti.com/in ... 3.4.1_Release_Notes下载。选择相应系统版本的离线版,如图 1.1.2 所示为下载的界面。图 1.1.2 CCS UniFlash 下载界面双击打开下载好的离线安装包,进入如图 1.1.3 所示的安装界面。图 1.1.3 CCS UniFlash 安装界面点击“Next”进入许可协议如图 1.1.4 所示选择“I accept the agreement”。图 1.1.4许可协议界面点击“Next”进入下一步,如图 1.1.5 所示为路径选择默认即可。图 1.1.5 路径选择界面点击“Next”进入组件选择界面,继续点“Next”,进入调试接口及其驱动选择安装界面,这里以防后续用到全部勾上,如图 1.1.6 所示。图 1.1.6 调试接口及其驱动选择界面一直点击“Next”到如图 1.x 所示的安装完成界面即可,勾上前两项,即在开始菜单生成启动图标以及在桌面上生成快捷方式,至此 CCS UniFlash 完成安装。图 1.1.7 安装完成界面1.3CC3200 SDK 安装CC3200 SDK 是 TI 官方提供的软件开发工具包,里面集成了一些编程所需库文件、内核文件、操作系统源码以及一些程序例子等,借助 SDK 可以大大地增加CC3200 项目开发的效率。SDK1.2.0 的下载地址为http://www.ti.com/tool/download/CC3200SDK/1.2.0 下载好 SDK1.2.0 的安装包如图 1.1.8 所示。图 1.1.8 SDK1.2.0 安装包双击开始安装 SDK,如图 1.1.9 所示为开始安装的界面。图 1.1.9 SDK 安装界面点击“Next”,会进入到 CC3200 SDK 1.2.0 的许可条例界面,如图 1.2.0 所示, 同样也是选择“I accept the agreement”。图 1.2.0 许可条例界面点击“Next”,进入到安装路径选择界面,如图 1.2.1 所示,默认路径即可。图 1.2.1路径选择界面一直点击“Next”,到进入安装界面,如图 1.2.2 所示。图 1.2.2安装界面等待进度条走完即可,期间会跳出 FTDI 驱动安装界面,如图 1.2.3 所示, 点击“是”。图 1.2.3 FTDI 驱动安装界面安装完成后的界面如图 1.2.4 所示。图 1.2.4 安装完成界面点击“Finish”,完成安装,打开我的电脑,在 C 盘的根目录下找到 TI 文件夹,在 TI 文件夹里可以找到 CC3200SDK_1.2.0,继续打开文件夹可以看到cc3200-sdk 这一文件夹,里面便是 CC3200 的核心部分,如图 1.2.5 所示。图 1.2.5 cc3200-sdk此时只是完成了 sdk1.2.0 的部分安装,在官网 sdk1.2.0 的下载地址处还有一个 Provisioning Add-On for CC3200SDK,这个包是 SDK1.2.0 的附加包,该包里面包含了 provisioninglib 等重要文件,也是需要安装的,如图 1.2.6 所示,值得注意的是目前只有 SDK1.2.0 版本需要安装 Provisioning Add-On for CC3200SDK。图 1.2.6 Provisioning Add-On for CC3200SDK 下载处下载好如图 1.x 所示的安装包,双击开始安装。图 1.2.7 Provisioning Add-On for CC3200SDK 安装包如图 1.2.8所示,点击“Next”开始安装。图 1.2.8 Provisioning Add-On for CC3200SDK 开始安装界面如图 1.2.9所示进入许可条例,选择“I accept the agreement”,点击“Next”。图 1.2.9 Provisioning Add-On for CC3200SDK 许可条例下一步就是路径选择,默认即可,一直点击“Next”,进入正式安装,等待进度条走完即可,最后点击“Finish”,完成安装。1.4ServicePack 的安装ServicePack 是 TI 提供的针对 CC3200 的固件包,里面提供了对协议栈加密等的支持,如果需要用到 wifi 功能那么必须得先向 CC3200 烧录 ServicePack,且十分值得注意的是 ServicePack 是和 SDK 搭配的,即不同的 SDK 版本的程序需要烧录不同版本的 ServicePack,和 SDK 搭配的 ServicePack 是放在一起下载的,前面用到的是 SDK1.2.0,故需要下载相对应版本的 ServicePack,ServicePack 的下载地址是 http://www.ti.com/tool/download/CC3200SDK/1.2.0,如图 1.2.9 所示为下载好的 ServicePack 安装包如图 1.2.9 所示。图 1.30ServicePack 安装包双击安装,如图 1.3.0 所示点击“Next”,开始安装。图 1.3.1 开始安装界面进入许可条例,如图 1.3.1 所示,同样也是选择“I accept the agreement”,然后点击“Next”。图 1.3.2 Service Pack 许可条例进入安装路径选择,同样是默认,点击“Next”,进入正式安装,待进度条走完,如图 1.3.2 所示去掉“View Readme File”的勾,点击“Finish”完成安装。图 1.3.2 ServicePack 完成安装界面此时打开 ServicePack 的安装文件夹可以看到 ServicePack 的 bin 文件。如图1.3.3所示。图 1.3.4servicepackb 的 bin 文件1.5TI Pin Mux Tool 安装TI Pin Mux Tool 是 TI 官方提供的一款图形界面代码生成器,利用 TI Pin Mux Tool 可以快速地生成 CC3200 外设资源的底层驱动,这可以大大的缩短开发周期。在以下地址 http://processors.wiki.ti.com/index.php/TI_PinMux_Tool?=TI%20 Pin%20Mux%20Tool&tisearch=Search-CN-Everything 下载好 TI Pin Mux Tool,如图1.3.4所示为 TI Pin Mux Too 的安装包,双击安装。图 1.3.5 TI Pin Mux Too 安装包进入开始安装界面,点击“Next”,进入许可条例界面,如图 1.3.5 所示, 选择“I accept the agreement”,点击“Next”。图 1.3.5 许可条例界面进入安装路径选择界面,同样也是默认,一直点击“Next”,进入安装,待安装进度条走完即可。如图 1.3.6 所示为安装完成界面,选择在桌面生成一个快捷方式,点击“Finish”完成安装。图 1.3.6 安装完成界面至此,CC3200 开发所需的环境搭建完成。文件下载请点击:

    2022-07-27 10:14

  • 【开发教程12】疯壳·AI语音人脸识别(会议记录仪-人脸打卡机)-语音采集

    CC3200AI实验教程——疯壳·开发板系列语音采集 音频采集板卡主要运用的是TI官方的方案TLV320AIC3254音频编解码器+TPA2012D2RTJ功率放大器,如图1.0.1为语音采集主板的实物图。 图1.0.1 语音采集主板的实物图 图1 TLV320AIC3254(有时也称为AIC3254)是一款灵活的低功耗,低电压立体声音频编解码器,具有可编程输入和输出,PowerTune功能,完全可编程的miniDSP,固定的预定义和可参数化信号处理模块,集成PLL,集成 LDO和灵活的数字接口,支持I2C和SPI。TLV320AIC3254的内部结构,如图1.0.2所示。 图1.0.2 TLV320AIC3254内部结构图 图2 如图1.0.3为语音采集主板TLV320AIC3254外围电路。 图1.0.3 TLV320AIC3254外围电路 图3 TPA2012D2是一款立体声的D类音频放大器(D类放大器),TPA2012D2为每个通道提供独立的关闭控制。使用G0和G1增益选择引脚可以将增益选择为6,12,18或24 dB,在语音采集板卡上主要是实现把采集回来的声音在通过耳机口播放出来的效果,其功能框图,如图1.0.4所示。 图1.0.4 TPA2012D2功能框图 图4 如图1.0.5为语音采集主板的TPA2012D2外围电路。 图1.0.5 TPA2012D2外围电路 图5 如需定制开发,请通过官网“疯壳”网页底部的“联系我们”进行联系 完整配套资料:http://www.fengke.club 对应开源套件地址:http://shop115904315.taobao.com/ 文件下载请点击:

    2022-08-01 16:09

  • 【开发教程3】AI语音人脸识别(会议记录仪-人脸打卡机)-CC3200简介

    本帖最后由 疯壳科技 于 2022-4-25 17:18 编辑 CC3200AI实验教程——开发板系列 CC3200简介随着工业4.0时代的到来,物联网(IOT)作为这个时代最基本也是最重要的技术,变成各路传统半导体制造商的香饽饽,蓝牙、WiFi以及Zigbee等技术迎来大爆发。作为目前唯一能够连接物与互联网的无线通信技术,WiFi技术也就显得愈加重要。CC3200是美国德州仪器公司(TI)针对无线连接SimpleLink Wi-Fi和物联网(IoT)解决方案最新推出的一款MCU,同时也是业界第一个具有内置Wi-Fi的MCU,CC3200采用高性能ARM Cortex-M4内核,主频为80MHz,高达256KB的RAM,64KB的ROM用于存放设备初始化固件、BOOTLOADER、外设驱动库,如图1.0.1为CC3200芯片。 图1.0.1 CC3200芯片CC3200主要包含三大块:MCU、WiFi网络处理器和电源管理三大部分。如图1.0.2所示为CC3200的内部组成结构图。图1.0.2 CC3200内部组成结构图CC3200包含有丰富的MCU外设资源,例如有27个独立可编程、可复用的通用输入输出接口(GPIO)、2路通用的异步通信收发器(UART)、1路高速串行通信接口SPI、一路高速I2C接口、一个多通道音频串行接口(McASP),支持2个I2S通道、一个SD/MMC接口、8位并行摄像头接口、4个通用定时器,可支持16位脉冲宽度调制(PWM)模式以及4通道的高达12位模数转换器(ADC)。CC3200的Wifi网络处理器可以提供快速安全的WLAN和因特网连接,其结构如图1.0.3所示。图1.0.3 CC3200网络处理器结构图其特性如下:a、特有Wi-Fi片上互联网(Internet-On-a-Chip);b、专用ARM MCU,完全免除应用MCU的Wi-Fi 和互联网协议处理负担 ,Wi-Fi和互联网协议存放在ROM 中;C、 包含802.11b/g/n射频、基带、MAC、Wi-Fi 驱动和Supplicant ,内置TCP/IP协议栈;d、 具有 行业标准BSD套接字应用编程接口(API) 支持同时8个TCP或UDP套接字 以及同时2个TLS和SSL套接字;e、强大的加密引擎,可以实现支持256 位AES加密的快速安全的互联网连接 支持 站点(STA)、接入点(AP)和Wi-Fi 直连(P2P)模式 , WPA2可保障个人和企业安全性;f、用于自主和快速Wi-Fi连接的SimpleLink连接管理器;g、 用于简单灵活Wi-Fi配置的智能配置(SmartConfig)技术、AP模式和WPS2。综合以上特性如表1.1所示。表1.1 CC3200网络处理器特性表图4CC3200内置DC-DC转换器,支持宽电压(2.1V~3.6V)范围输入,具有低功耗特性:在休眠状态下电流可低至4uA、低功耗深睡眠(LPDS)模式下电流可低至120uA、串口接收状态下(RX)电流可低至59mA、串口发送状态下(TX)电流可低至229mA。 资料地址:http://www.fengke.club文件下载请点击:

    2022-04-25 17:17

  • protues哪个版本最好用

    用过7.5,发现有时候会有bug,大家用着哪个版本比较不错??

    2015-07-19 21:29