综合技术交流
直播中

jim

6年用户 495经验值
擅长:存储技术
私信 关注
[经验]

K210使用创世NAND flash完成火灾检测

[]()

  前言

  前几天收到了雷龙NAND的芯片,一共两个芯片和一个转接板,我之前也没有使用过这款芯片,比较好奇,体验了一下,个人认为,如果你画PCB制作一些板子的话,很推荐,比SD卡要方便很多。刚好最近在做K210的火灾检测,就用这个SD NAND来体验一下。

[]()

[]()

[]()

[]()

  一、NAND是什么?

  不用写驱动程序自带坏块管理的NAND Flash(贴片式TF卡),尺寸小巧,简单易用,兼容性强,稳定可靠,固件可定制,LGA-8封装,标准SDIO接口,兼容SPI/SD接口,兼容各大MCU平台,可替代普通TF卡/SD卡,尺寸6x8mm毫米,内置SLC晶圆擦写寿命10万次,通过1万次随机掉电测试耐高低温,支持工业级温度-40°~+85°,机贴手贴都非常方便,速度级别Class10(读取速度23.5MB/S写入速度12.3MB/S)标准的SD 2.0协议使得用户可以直接移植标准驱动代码,省去了驱动代码编程环节。支持TF卡启动的SOC都可以用SD NAND,比eMMC便宜。

  简单来说就是贴片TF,但是稳定性更高。

  二、来看一看NAND

  这是NAND的转接板

[]()

  这是NAND的芯片,可以看出尺寸非常小,非常适合用来画板子,这样可以省去贴SD卡卡座的步骤。

[]()

  最后贴好就是这个样子

[]()

  先用crystaldiskmark跑一下看看

[]()

  这个是跑出来的数据,数据上来看,还不错。但是实际使用怎么样呢

  三、部署火灾检测

[]()

  将文件放入SD NAND中,然后把转接板插在K210上

[]()

  然后打开MAXIPY运行

[]()

[]()

[]()

  兄弟们,惊呆了,强烈推荐!!!!用过K210的都知道,这个玩意比较挑内存卡,普通的内存卡它根本读不到,结果这个芯片可以直接用,确实有点震惊到我。

  我之前画过一个K210,因为贴SD卡卡座比较头大,现在有了新方案可以代替他,是时候着手在画一个了。

  用来做DIY去代替内存卡,直接贴在板子上,非常省空间!!!!

  最后简单贴一下代码,模型文件在QQ群里,感兴趣的可以主页加群

import sensor

import image

import lcd

import utime

import KPU as kpu

from machine import UART

from fpioa_manager import fm

lcd.init()

sensor.reset()

sensor.set_pixformat(sensor.RGB565)

sensor.set_framesize(sensor.QVGA)

sensor.set_windowing((224, 224))

sensor.set_hmirror(0)

sensor.run(1)

fm.register(6, fm.fpioa.UART1_TX, force=True)

fm.register(7, fm.fpioa.UART1_RX, force=True)

uart_A = UART(UART.UART1, 115200, 8, 1, 0, timeout=1000, read_buf_len=4096)

task = kpu.load("/sd/yolov2.kmodel")

f=open("anchors.txt","r")

anchor_txt=f.read()

L=[]

for i in anchor_txt.split(","):

L.append(float(i))

anchor=tuple(L)

f.close()

a = kpu.init_yolo2(task, 0.6, 0.3, 5, anchor)

f=open("lable.txt","r")

labels_txt=f.read()

labels = labels_txt.split(",")

f.close()

while(True):

img = sensor.snapshot()

code = kpu.run_yolo2(task, img)

if code:

for i in code:

a=img.draw_rectangle(i.rect(),(0,255,0),2)

a = lcd.display(img)

for i in code:

lcd.draw_string(i.x()+45, i.y()-5, labels[i.classid()]+" "+'%.2f'%i.value(), lcd.WHITE,lcd.GREEN)

else:

a = lcd.display(img)

a = kpu.deinit(task)

————————————————

  亲爱的卡友们,欢迎光临雷龙官网,如果看完文章之后还是有疑惑或不懂的地方,请联系我们,深圳市雷龙发展专注存储行业13年,专业提供小容量存储解决方案。

更多回帖

发帖
×
20
完善资料,
赚取积分