求助山外哥 K60核心板ADC采样板受干扰

以Freescale Kinetis K60为核心的农田灌溉控制控制卡的设计
以Freescale Kinetis K60为核心的农田灌溉控制控制卡的设计
& & 内容摘要:文章设计了一种以Freescale Kinetis K60为核心的农田灌溉控制控制卡,该卡可以通过上位机或者手持编程器编写灌溉程序,并可脱机运行。系统实现土壤温湿度检测功能,能够很好的满足绿色农业生产要求。
& &&关键词:控制板卡;灌溉;Kinetis K60 & &&引言
& & 内容摘要:文章设计了一种以Freescale Kinetis K60为核心的农田灌溉控制控制卡,该卡可以通过上位机或者手持编程器编写灌溉程序,并可脱机运行。系统实现土壤温湿度检测功能,能够很好的满足绿色农业生产要求。
& &&关键词:控制板卡;灌溉;Kinetis K60 & &&引言
& & 目前,我国水资源问题日益突显,水资源的匮乏和分布不合理是其客观原因,要从根本上缓解这一问题,必须从节约用水、提高水资源利用率方面来着手。我国农业用水量约占总用水量的80%左右,由于农业灌溉用水的利用率普遍低下,就全国范围而言,水的利用率仅为45%,而水资源利用率高的国家己达70~80%,因而,解决农业灌溉用水的问题,对于缓解水资源的紧缺是非常重要的。针对自动灌溉的特点,为了完成数字化控制,研制和开发了基于Frecscale Kinetis的农田灌溉控制卡。采用这样的集成控制卡,简化整个控制系统的硬件电路结构,提高系统的可靠性和控制精度。
1 总体设计 & & 根据需求,该灌溉控制卡需要满足以下功能: & & &控制进电机或者伺服电机,进行水泵的精确控制,每周可以独立控制,任意阀门开度精确定位,脉冲输出速度最大可以达到100K。 & & &软件阀门开度限位功能。 & & &可以多机互联,满足农田生产协同作业的要求。 & & &与PC机连接下载灌溉控制文件。 & & &使用SD卡升级系统和存储灌溉文件。 & & &可以脱机独立工作,并支持显示启动、停止和故障状态提示。 & & &最多可以控制4个土壤湿度传感器,可与二氧化碳传感器、照度传感器连接。 & & 针对以上需求,为了满足性能要求,同时也满足低价位需求,选用高性能低价位的Cortex-M4ARM的单芯片解决方案。ARM芯片选用MK60DN 512ZVLL10,该单片机属于Freescale公司的Kinetis K60系列,ARM Cortex-M4处理器是由ARM专门开发的最新嵌入式处理器,用以满足需要有效且易于使用的控制和信号处理功能混合的数字信号控制市场。高效的信号处理功能与Cortex-M4处理器系列的低功耗、低成本和易于使用的优点的组合,旨在满足专门面向电动机控制、汽车、电源管理、嵌入式音频和工业自动化市场的新兴类别的灵活解决方案。 & & 本系统与PC机一起构成的系统框图如图1所示。
& & 灌溉自控系统主要由中心主控系统(主计算机、控制柜)、电磁阀、田间湿度传感器(可测土壤湿度绝对值)、气象观测站(可测气温、风向、风速)、数据采集指令传输等通讯设备组成。可坐在控制室罩,对控制板卡传上来的气象资料、田间土壤湿度等数据进行综合分析,利用手动或自动方式,足不出户地对整个被控小区进行灌溉。同时还可以利用数据查询系统和打印系统,随时记录、查询、打印整个灌溉小区的气象资料、土壤湿度、灌溉设置、灌溉进程、灌水历史记录等数据。 & & 系统由多个控制单元组成,每个控制单元管理一片区域。利用物联网、工业以太网,由中央计算机统一管理。室外的空气温湿度传感器把结果送入计算机,在这里进行灌溉参数设置,及对灌溉情况进行统计,并可通过专用软件在计算机上存储、显示数据和图表。同时可以人工进行特殊操作。通过互联网获取天气信息,有预见性地实施灌溉。&
  2 硬件设计
  2.1 ARM处理器的特点及应用
  Freescal的MK60DN512ZVLL10属于Kinetis K60系列。封装为LOFP144脚,该芯片具有以下特点:
  &ARM Cortex-M4内核+DSP。512K flash、512K Flex Memmory、128K SRAM、16K cache、150MHz、单周期MAC、单指令多数据(SIMD)扩展、可选的单精度浮点单元。
  &多达四种可配置分辨率的高速16位ADC。可采用单路或差分输出模式改善噪声抑制。可编程延迟块触发功能转换时间可达500 ns。
  &具有3个高速比较器,通过将PWM保持在安全状态,提供快速准确的电机过电流保护。
  &多达四个64倍可编程增益放大器用于小型振幅信号转换。
  &模拟基准电压为模拟块、ADC和DAC提供精确的基准值,可以替换外部基准电压,降低系统成本。
  &具有32通道的DMA,适用于外围设备和内存,可降低CPU负载,实现更快的系统吞吐量。
  &连接性和通信:UART支持ISO7816和IrDA,支持I2S、IC和SPI,具有2个CAN模块,适用于工业网络桥接。
  &可靠性和安全性:硬件循环冗余校验引擎用于验证存储器内容、通信数据和增加的系统可靠性,独立时钟工作的COP用于防止代码跑飞,外部看门狗监控。
  &定时和控制:强大的FlexTimers支持通用、PWM和电机控制功能。可编程中断定时器用于RTOS任务调度或者为ADC转换和可编程延迟模块提供触发源。
  &外部接口:多功能外部总线接口提供和外部存储器、门阵列逻辑或LCD的接口。
  &系统:5 V容限的GPIO带引脚中断功能。从1.71 V到3.6 V的宽操作电压范围,闪存编程电压低至1.71 V,并且此时闪存和模拟外设所有功能正常。
  &运行温度:-40℃到105℃。
  2.2 JTAG调试接口
& & PC机使用JTAG接口下载程序并调试该灌溉控制卡,同时通过232串口下载灌溉控制指令。 2.3 组网和多机互连 & & 485串口和CAN接口用于组网和多机互联,灌溉控制器组网功能可以满足农田生产的同步化要求。组网可根据需要选用CAN总线或者485总线。
2.4 SDHC接口 & & SDHC接口采用4位操作,用于连接SD卡,可以支持SDHC大容量SD卡,SD卡可以用于升级灌溉控制卡的应用程序和更新控制指令。其接口电路如图5所示。
& & 2.5 flash存储器& & flash存储器用于存储多种灌溉控制方法,灌溉控制卡运行时从中读取制定的运动灌溉文件并执行,flash存储器采用SPI接口的MX25L16 05,容量为16MB,可以存储大量的灌溉控制方案文件。图6 MX25L1605接口电路图。非门电路转换如图7。
2.6 PWM接口 & & PWM接口用于控制水泵电机,进行流量控制。单路PWM从MCU MK60DN512ZVLL10输出后经过非门电路转换成。 2.7 外界信号的避免 & & 在实际工作中,应尽量避免外界信号的干扰,为达到这个目的,在系统中采用光电耦合器件,其输入端配置发光器件,输出端为受光器,开关量输入接入电路中,会被挡在光电耦合器以外,从而将干扰隔离。输出接口如图8所示。
& &  3 软件设计
  3.1 软件开发环境
  ARM软件开发环境选用IAR for ARM 6.2。
  3.2 软件功能概述
  系统与PC机连接,可以进行控制参数文件的下载、读取,也可以通过PC上的专用软件,进行现场参数的采集存档。PC机可以进行系统的前期的调试安装测试,测试好后,可以进行灌溉控制文件的编辑工作并下载到运动控制中执行。同时为了方便灌溉控制文件的生成,在PC上设计了一套示教系统,使用该示教系统可以配置优化控制文件。
  本系统采用一种基于PWM的方式来控制直流电机,灵活可靠,精度也符合要求。灌溉控制文件采用G代码存储于flash存储器,开机后可以通过计算机设定的默认灌溉控制文件序号从flash存储器读取出来,然后逐条解析执行。执行时如果是灌溉指令,软件脱机运行框图如图9所示:
3.3 软件关键算法 & & 水泵控制算法:本文水泵转速控制采用自适应控制算法,自适应控制是在系统运行过程中不断提取有关模型信息,该算法根据新的信息调整,它是克服参数变化影响的有力手段。自适应控制系统可看成有两个闭环,一个是常规由控制器与被控对象组成的反馈环;另一个是控制器的参数调节环。如图10所示。
&   4 小结
  随着计算机技术和电子技术的发展,将大量使用自动化设备代替人工操作,可以满足复杂控制的灌溉控制卡在生态农业中的应用也会越来越广泛。本文介绍的灌溉控制板卡经测试和使用均能满足要求,可以长时间重复性工作,大大减少农田劳动力的使用,减轻工作强度,同时对提高生产效率和优化作物生长也有很大的效果。
型号/产品名
深圳市寒武纪智能科技有限公司
worldchinatrade
深圳市福田区华强电子世界广进源电子商行
深圳市福田区华强电子世界广进源电子商行
深圳市福田区华强电子世界广进源电子商行山外K60参考代码V5.3(支持FX、FN和DNZ)
Description: &&Beginners, this routine for the GPIO routines, the school of great help to this, the compiler environment for IAR, you can download the IAR online view
File list:
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_BMP\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_三轴加速度和陀螺仪_液晶显示变量\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_摄像头\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_摄像头_多功能调试上位机\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_摄像头_无线传输\摄像头模块(可按键调试)\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_摄像头_无线传输\调试器模块(可按键调试)\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_摄像头_无线传输_无线调试\摄像头模块(可按键调试)\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_摄像头_无线传输_无线调试\调试器模块(可按键调试)\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_激光计时器\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_线性CCD\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_线性CCD_无线传输\线性CCD模块(可按键调试)\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_线性CCD_无线传输\调试器模块(可按键调试)\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_线性CCD_无线传输_调试器上位机调试\线性CCD模块(可按键调试)\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_线性CCD_无线传输_调试器上位机调试\调试器模块(可按键调试)\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_触摸屏_画板\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\电机驱动\1.电机驱动四路半桥测试(常规和滑行)\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\电机驱动\2.电机驱动两路全桥正反转测试(常规)\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\电机驱动\3.电机驱动变速测试(常规与滑行)\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\电磁感应模块_ADC_虚拟示波器_多功能调试上位机\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\舵机\舵机左右摆动\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第七章\Flash\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第三章\I2C_MMA7455\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第三章\SPI_NRF24L01+\SPI_NRF24L01+_发送模块\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第三章\SPI_NRF24L01+\SPI_NRF24L01+_接收模块\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第三章\UART_INT\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第三章\UART_LOOP\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第三章\UART_LOOP_查询接收多个字符串\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第九章\SDHC\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第二章\GPIO_51风格输入输出\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第二章\GPIO_51风格输出\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第二章\GPIO_KEY_LOOP\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第二章\GPIO_KEY_TIMEING\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第二章\GPIO_LED\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第二章\GPIO_函数调用\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第二章\GPIO_并行输出实验\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第二章\PORT_KEY\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第五章\ADC\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第五章\DAC_正弦波\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第八章\can_正常模式\can_节点A\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第八章\can_正常模式\can_节点B\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第八章\can_环回模式\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第八章\flexbus_8080_TFT\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第六章\DMA_读取GPIO电平到内存(中断恢复目的地址)\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第六章\DMA_读取GPIO电平到内存\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第六章\DMA_鹰眼摄像头OV7725串口显示\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第十章\USB_COM\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第四章\FTM_INPUT_FRQ\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第四章\FTM_INPUT_KEY\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第四章\FTM_PWM_电机驱动\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第四章\FTM_PWM_示波器\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第四章\FTM_正交解码\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第四章\LPTMR_定时\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第四章\LPTMR_延时\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第四章\LPTMR_脉冲计数\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第四章\LPTMR_计时\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第四章\PIT_定时\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第四章\PIT_延时\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第四章\PIT_计时\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第四章\RTC\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第四章\SysTick_定时\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第四章\SysTick_延时\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第四章\WDOG\Lib\CMSIS\Inc\arm_common_tables.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_BMP\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_三轴加速度和陀螺仪_液晶显示变量\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_摄像头\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_摄像头_多功能调试上位机\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_摄像头_无线传输\摄像头模块(可按键调试)\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_摄像头_无线传输\调试器模块(可按键调试)\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_摄像头_无线传输_无线调试\摄像头模块(可按键调试)\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_摄像头_无线传输_无线调试\调试器模块(可按键调试)\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_激光计时器\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_线性CCD\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_线性CCD_无线传输\线性CCD模块(可按键调试)\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_线性CCD_无线传输\调试器模块(可按键调试)\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_线性CCD_无线传输_调试器上位机调试\线性CCD模块(可按键调试)\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_线性CCD_无线传输_调试器上位机调试\调试器模块(可按键调试)\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\LCD_触摸屏_画板\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\电机驱动\1.电机驱动四路半桥测试(常规和滑行)\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\电机驱动\2.电机驱动两路全桥正反转测试(常规)\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\电机驱动\3.电机驱动变速测试(常规与滑行)\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\电磁感应模块_ADC_虚拟示波器_多功能调试上位机\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\书外的参考例程\舵机\舵机左右摆动\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第七章\Flash\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第三章\I2C_MMA7455\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第三章\SPI_NRF24L01+\SPI_NRF24L01+_发送模块\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第三章\SPI_NRF24L01+\SPI_NRF24L01+_接收模块\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第三章\UART_INT\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第三章\UART_LOOP\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第三章\UART_LOOP_查询接收多个字符串\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第九章\SDHC\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第二章\GPIO_51风格输入输出\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第二章\GPIO_51风格输出\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第二章\GPIO_KEY_LOOP\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第二章\GPIO_KEY_TIMEING\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第二章\GPIO_LED\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第二章\GPIO_函数调用\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第二章\GPIO_并行输出实验\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第二章\PORT_KEY\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第五章\ADC\Lib\CMSIS\Inc\arm_const_structs.h
山外K60参考代码V5.3(支持FX、FN和DNZ)\第五章\DAC_正弦波\Lib\CMSIS\Inc\arm_const_structs.h
Download users:
Relate files:
Favorite users:查看: 300|回复: 4
山外哥库函数中的 GPIO_SET_NBIT(4,PTB20,9);
看了一天攻破K60的介绍,还是没有弄明白这个函数的意思,知道PTA8是最低位,4是让PTA8向上数四位,也就是PTA8,PTA9,PTA10,PTA11,那么久是怎么理解呢
本帖子中包含更多资源
才可以下载或查看,没有帐号?
发完贴我好像明白了
嗯,就是把起始位当作b0
还是不懂9的意思
还是不懂9的意思
9,你算一下二进制的值,就是IO口对应的输出数据
山外飞思卡尔智能车论坛查看: 4719|回复: 34
【山外无线调试器】K60 系列 智能车 学习 开发板 需求调查
等了那么久,我们的 k60 开发板 即将 推出,进行 一下市场调查,你期待的 无线调试器 有 什么功能?
硬件 需求 :
1.无线调试,我们选择用 NRF24L01+
原因是 无线传输 速度 快 (比串口蓝牙快) 、采用 中断收发(SPI 通信速度远快于 串口通信,发送数据的时候 可把时间 拿去干其他活)
2.8个独立按键 ,玩转 无线调试 、无线 溜车
4个 独立 按键 进行 上下左右 控制 、 2个 按键 进行 确认 ,取消 功能 、2个 用于 无线溜车 的 一键 开车 ,一键 停车 功能。
3.集成 USB 转 串口 ,直接 USB 线 接入电脑 和 开发板
很多 同学 都为 串口 通信 而烦恼 ……
4.支持 1.4寸 小液晶 和 3.2寸 大液晶 (修改一个宏定义即可切换不同的液晶)
代码中 仅需 修改 一个 宏定义 即可 切换 不同 的液晶 ,无需 改其他 代码 (仅需保证 从 大液晶切换到 小液晶 时 不 溢出 画面 即可)
3.2寸 320 * 240 大液晶,玩转 无线调试……
5. 激光计时器
同学们再也 不用担心 没有 东西 可以 准确 计时了,我们新的 无线调试器 上,集成 了 计时 功能,高灵敏度、准确 实现 计时 功能。
6.多模式的 电机驱动模块
常规模式 是 目前 最常用电机驱动 都 提供的 功能。
我们 推出 的 新 的电机驱动模块 ,除了 支持 常规的 模式 外,还 比 市场上 最常用 的电机驱动模块 多了 自由滚动模式 和 点杀模式。(卖关子,后面出视频的时候就会详细讲解,绝大部分的同学的电机驱动都是白白浪费电量,驱动模块发热严重的)
7.摄像头 接口,可支持我们的 三款摄像头
山外鹰眼(硬件二值化)、山外灰眼(灰度ov7620)、山外狼眼(灰度ov7725)
由于我们测试觉得,山外灰眼(灰度ov7620)&&的 图像效果 不如 山外狼眼(灰度ov7725)&&的好 (不过也比市场上的其他7620 好),所以 可能 放弃退出这摄像头。
<font color="#ff个线性CCD 接口
可多个 线性CCD 同时采集 ,容易增减 线性CCD
9.提供 8路ADC 接口 和 16个IO 接口 便于 电磁组 接入 传感器
片内ADC 或 片外 ADC 都 由你 玩转 ……
10.加入一键解锁功能
玩过 k60 的童鞋都知道 k60 容易锁上,我们 加入 了 一键 解锁功能。
误操作导致 芯片锁上了 ,复用了 下载口 导致 锁上了 ?
我们的 一键 解锁 功能,是 代码预留的 一个后门 解锁功能 ,给你保驾护航 ……
还有没有 其他 功能 需要 增加的 呢? 我们 预留了 接口,可以比较容易实现 功能拓展 ,欢迎大家提出新的 功能需求!
本帖被以下淘专辑推荐:
& |主题: 58, 订阅: 65
山外哥 ,超声波 啊 …… 电磁组 现在 用超声波 测 障碍
虚竹 发表于
山外哥 ,超声波 啊 …… 电磁组 现在 用超声波 测 障碍
超声波 ,精度 不够 ,我们 直接 推出 的超声波 ,精度 不好,就得 给吐槽了 。
后面,我 给 个 例程 就好,这个 比较 简单。
计时器 , 是用 k60 自带 的模块 吗?
可以 用来 测 代码 的执行时间不?
虚竹 发表于
计时器 , 是用 k60 自带 的模块 吗?
可以 用来 测 代码 的执行时间不?
不仅 可以 用来 测 代码 执行时间。
我们 的 代码,还有独创 的地方,不用 任何定时器 来时间 准确 延时
超频 也 不影响 延时 时间的哦
Admin 发表于
不仅 可以 用来 测 代码 执行时间。
我们 的 代码,还有独创 的地方,不用 任何定时器 来时间 准 ...
先 用 个 计时器 测量 延时 参数 ,然后 后面就 不用 计时器 就能 实现 准确 延时?
本帖最后由 山外メ雲ジ 于
22:08 编辑
功率谱 发表于
先 用 个 计时器 测量 延时 参数 ,然后 后面就 不用 计时器 就能 实现 准确 延时?
好办法 ,不过 我们不是 这样的 …… 你猜猜 …… 我们 k60 视频 很快 就出来, 到时 解开谜底 ……
再给你 说说,新的 k60 库,增加 了 不少 的函数即可, 例如&&计时 功能 (pit 和 lptmr 都提供计时功能) ,延时功能 就 山外哥之前所的 不用 定时器 实现 精准 延时,汉字 显示 功能 , BMP 图像 显示功能 等……
GPIO 采用 寄存器位操作 ,原先 采用 结构体位域操作 ,比之前 快了 2倍 的速度……
而且 架构 更加 清晰,非常适合 初学者 ……
1.希望像 STM32库那样,增加 DMA 在各个寄存器之间传送数据的代码。比如用DMA读ADC,DMA发串口之类。
2.增加对市面上OLED显示的支持。原因:OLED体积小,这点很重要,不是所有地方都安的上什么3.2寸液晶之类。希望你们的显示代码能全面兼容OLED的显示。
3.拥有独立的SPI库,而不只是针对NRF了。很多外设用到SPI通信的很多,比如各种传感器。希望有独立的SPI代码针对这些外设的稳定支持。
4.库的可移植性。不少地方用的是100pin的K60,144体积有时候过于庞大。包括现在新出的CM0+内核的Kinetis_L系列,都是逐渐走向小的体积。建议你们的库代码能有很好的可移植性和兼容性。
这是能想到的,其他的暂时没有
自由滚动模式 和 点杀模式。
啥意思啊?
Daniel_Lau 发表于
1.希望像 STM32库那样,增加 DMA 在各个寄存器之间传送数据的代码。比如用DMA读ADC,DMA发串口之类。
SPI,我们 准备 发布的 代码 ,很独立的,我们虽然给出 SPI NRF ,但也可以轻易 用在 其他地方。
我们的 SPI 和 I2C 都 可以 传递 波特率 进去,自行 计算 最 匹配 的波特率 (这是 其他 网上例程都没有的功能。)
OLED 也是 SPI 通信, 用我们的 SPI 函数接口,很容易实现。
代码的兼容性和 可移植性,这是 我们 准备 推出 的例程的 一个亮点地方,例如 按键 和 LED 可以 任意换 IO ,SPI /UART/I2C/FTM 都 可以根据 复用表 快速配置复用(我们有专门头文件进行复用配置,也整理好可选用的 IO口)
Daniel_Lau 发表于
1.希望像 STM32库那样,增加 DMA 在各个寄存器之间传送数据的代码。比如用DMA读ADC,DMA发串口之类。
给其他卖家一条活路
Admin 发表于
给其他卖家一条活路
目前发现的可以增补的还有一个:SPI和I2C这两种数据总线对于多外设的挂载的支持。例如我有3个I2C设备需要挂载在I2C0上。一组I/O的带载能力有限,需要复用多路I2C0的I/O。这个是原来使用时遇到的。
Admin 发表于
给其他卖家一条活路
另外,可以出个教程,简单的对K60底层寄存器进行一下介绍~
Daniel_Lau 发表于
目前发现的可以增补的还有一个:SPI和I2C这两种数据总线对于多外设的挂载的支持。例如我有3个I2C设备需要 ...
带载能力有限?上拉电阻 问题吧? I2C 本身可接 多个 从机主机。
如果用 多个 IO ,那可以选择 不同的 I2C 模块 。如果仅仅是 复用 多个 IO 口,没测试过,不知道 会不会冲突。(修改一下初始化里的复用即可,我们新代码的复用配置也比之前简单了很多)
Admin 发表于
带载能力有限?上拉电阻 问题吧? I2C 本身可接 多个 从机主机。
如果用 多个 IO ,那可以选择 不同的 ...
哦对,希望你们的系统板留出VSSA的接口。原来测试在要求更高精度的ADC采样中,如果外设的AGND不和系统板的VSSA相连,容易有波动。毕竟,你们用磁珠进行隔离,而在VSSA与DGND见会有微小的电势差的。这一点在硬件上,最好留出VSSA的接口。我把外设的AGND和磁珠的一端焊上就没这个波动了。望改进吧。
Daniel_Lau 发表于
另外,可以出个教程,简单的对K60底层寄存器进行一下介绍~
我们 直接 出 视频 ,有 Datasheet 解读 、 寄存器 用法 、代码的使用方法 等……
收集了 一年 多的 飞思卡尔 智能车 同学们的 反馈,所以我们资料都针对反馈 来 修改 教程。
我们引入 新的 软件,教 大家如何 阅读 代码 ,比起 IAR 、MDK 、CW ,我觉得 新的软件更适合 初学者 用(傻瓜化操作,高手般的阅读代码效果)
预留 I2C 、SPI 接口 在 调试板上 ,我想 做个 重力加速度 遥控 小车
微粒子 发表于
预留 I2C 、SPI 接口 在 调试板上 ,我想 做个 重力加速度 遥控 小车
你想到的,我早就想到了
uart 、i2c 、spi 、i2s 、can 、以太网、adc、dac 都 预留了 接口……
够不够用呢?
Daniel_Lau 发表于
哦对,希望你们的系统板留出VSSA的接口。原来测试在要求更高精度的ADC采样中,如果外设的AGND不和系统板的 ...
VSSA,只要把磁珠换成0欧就可以直接相连。或者去掉,就可以独立出来。
风落小鱼 发表于
自由滚动模式 和 点杀模式。
啥意思啊?
自由滚动 是最省电 的驱动电机方法,通过调 电压,而不是 占空比 来驱动电机 ,效果可想而知 ,比 普通常规模式 滑动更加流畅
点杀 模式,是 刹车效果 最好的 一个模式 ,摩擦力 是 接近 最大 静摩擦力 ,效果可想而知
Admin 发表于
自由滚动 是最省电 的驱动电机方法,通过调 电压,而不是 占空比 来驱动电机 ,效果可想而知 ,比 普 ...
山外狼眼和现在的火眼有什么区别?狼眼不带FIFO?
Daniel_Lau 发表于
山外狼眼和现在的火眼有什么区别?狼眼不带FIFO?
狼眼 是 不带 FIFO ,直接输出 灰度 图像 ,使用范围是 图像处理 这一块 ……
火眼是 带 FIFO ,输出 彩色 图像
电磁组的话,可以考虑 增加 电磁组 的 调试 内容
例如 pid 参数
山外哥,出 个 电磁组 感应器 ,初学者 上手快啊……
小学童鞋 发表于
电磁组的话,可以考虑 增加 电磁组 的 调试 内容
例如 pid 参数
直接用 变量 调试 即可 调试 PID
小学童鞋 发表于
山外哥,出 个 电磁组 感应器 ,初学者 上手快啊……
就 一个电感,功放,然后 ADC 采集,这部分也需要我来完成?
Admin 发表于
就 一个电感,功放,然后 ADC 采集,这部分也需要我来完成?
会不会有基于MDK的库出现呢?
Daniel_Lau 发表于
会不会有基于MDK的库出现呢?
不会,MDK 的优势 在于 编辑,我们就发布新的 教程 ,教程里 推荐 的 编辑器 ,比 MDK 的&&编辑功能好用多了 ,而且 简单易用。
IAR 的 优势 在于 调试,例如 调用栈 ,非常容易找到 硬件上访,数组溢出等问题。
山外哥,无线调试器的代码在哪里,资料里面找不到啊
DaJiBa 发表于
山外哥,无线调试器的代码在哪里,资料里面找不到啊
怎么可能 找不到? 配套视频讲解 如何进行 无线调试的
【山外K60】一天攻破k60视频和代码 - 一天攻破K60 - 山外-vcan123论坛
山外哥,LCD液晶显示屏不显示是怎么回事啊?需要另外接线吗?
Admin 发表于
SPI,我们 准备 发布的 代码 ,很独立的,我们虽然给出 SPI NRF ,但也可以轻易 用在 其他地方。
我们的 ...
LCD显示屏一直白屏怎么回事啊?
山外哥,上面那个无线调试器的问题,你回答的链接无效,请问我该在哪里找到无线调试器的代码和视频啊
山外飞思卡尔智能车论坛

我要回帖

更多关于 下极板采样 的文章

 

随机推荐