`

FSMC接网络控制芯片和LCD

 
阅读更多

首先明确一个问题 FSMC 有两种控制器
一、NOR memory control
二、NAND/PC CARD memory control

首先 按管脚数分 100和 144的

100pin的
STM32中100脚的型号的FSMC能否同时使用Bank1和Bank2?
数据手册中有下面一段注释:
For the LQFP100 and BGA100 packages, only FSMC Bank1 and Bank2 are available. Bank1 can only support a multiplexed NOR Flash memory using the NE1 Chip Select. Bank2 can only support a 16- or 8-
bit NAND Flash memory using the NCE2 Chip Select.
因为只有一个片选脚 PD7  (NE1 和NCE2同一个)  所以BANK1 和bank2只能使用一个

可能会有用IO模拟片选的,我觉得对于慢速设备可以这么做,但是对于快速设备这么做就没意义了,失去了FSMC的速度。还有个解决办法就是加译码器 将地址分小 可以达到FSMC挂接多设备的目的。

同时注意到 100的片子想访问SRAM的话 地址线和数据线分开的原因,需要使用NOR地址数据线复用模式。对于144的就不存在这个问题了线够多,我感觉用不上复用模式了。

144pin的:
bank1 有4个片选 NEx(x=1.2.3.4)
BANK2/3 分别使用      NCEx(x=2,3)做片选, 与 NEx(1,2)复用//
BANK4  为PC card  使用NCE4_1/NCE4_2 做片选。其中NCE4_1,与NE3 复用

所以这么看来独立的片选线为5条。

问题总结:


1、DM9000A的接口 (当SRAM用)
  首先DM9000的控制实质就是读数据、写数据  只不过是有个CMD 来控制数据是地址还是命令: IOR和IOW是DM9000的读写选择引脚,低电平有效,即低电平时进行读(IOR)写(IOW)操作;AEN是芯片选通引脚,低电平有效,该引脚为低时才能进行读写操作;CMD的命令/数据切换引脚,低电平时读写命令操作,高电平时读写数据操作。
  在一款开发板子上看到将dm9000接到BANK1上这是没问题的,只要将一根数据线连CMD 就可以对其操作,但是不建议使用IO来模拟控制CMD ,原因是DM9000快速设备

至于DM9000能不能挂在NAND 控制器,我觉得是不可以的。这点我也不确定

2、LCD 接口
LCD 目前我见到的大多是接到SRAM/NOR控制其上的 非地址锁存的那种。所以不能接到NAND 直接用。

STM32的FSMC 连接外设 比如液晶,要把液晶分为两部分来对待,一部分是液晶寄存器,一部分是液晶显示的数据,可以当做显存吧。
因此用一个地址线 Ax 来区分当前连接的是寄存器还是显存,假使RS引脚为高时代表寄存器被选通,,
那么地址线上该位Ax就可以决定选通什么,
不过地址线是指导了,可是还有地址。
假设A0连接的是RS,那么选通液晶寄存器的尾地址是什么?
当传输是16位时,是0x???? 0002,不是0x???? 0001
看下面的图片说明(来自官方手册)

16位数据在内部使用【25:1】访问,8位数据地址时按照内部访问地址与外部实际连接地址一致
也就是实际地址数左移一位后的地址,或许也可以看做外部连接地址X2,
搞明白这点其他都好理解
举例:
9G的液晶移植例子中选用A16连接LCD的RS引脚
那么实际上连接的外部引脚地址是0x6001 0001,但是在通过内部CPU选择该地址时要用 0x6002 0001
对于RS的连接地址,CPU从内部访问它用的地址比外部实际地址左移了一位,这是在16位的访问模式下。

 

分享到:
评论

相关推荐

    基于STM32单片机FSMC接口驱动LCD的配置与分析.pdf

    FSMC接口驱动LCD的基本原理是将LCD配置为外部存储器的一种形式,利用FSMC的读写时序和LCD的读写时序相似性,自动完成时序控制。 配置FSMC接口时,要确保正确设置NOR和PSRAM的地址映射,以便STM32能够正确地将LCD...

    LCD ILI9488 16位接口 FSMC

    1. **硬件连接**:确保微控制器的FSMC引脚正确连接到LCD ILI9488的数据线、地址线、控制线(如CS、RS、WR、RD等)上,同时不要忘记电源和接地线。 2. **配置FSMC**:在软件层面,需要对STM32的FSMC寄存器进行编程,...

    FSMC接口 LCD使用驱动

    FSMC是STM32系列芯片内建的灵活静态存储控制器,它可以支持多种类型的外部存储设备,如SRAM、NOR Flash、NAND Flash以及LCD等。通过CubeMX配置工具,我们可以轻松设置FSMC的相关参数,如数据线宽度、地址线宽度、...

    基于STM32的FSMC接口驱动TFT彩屏的设计

    STM32系列微控制器提供了丰富的接口和外设,包括FSMC(灵活的静态存储控制器),这使得STM32能够方便地扩展外部存储器,如NORFLASH、PSRAM和NANDFLASH存储芯片。 FSMC接口在该设计中用于连接数字彩屏,从而直接驱动...

    STM32F103ze_FSMC_LCD.zip

    4. 用户手册或说明文档:解释如何编译、烧录和测试代码,以及LCD和FSMC的配置细节。 通过这个项目,开发者可以学习到STM32微控制器的高级应用,理解FSMC的工作机制,以及如何设计和优化LCD驱动程序,提升嵌入式系统...

    lcd.rar_FSMC LCD_STM32F4 FSMC_STM32F4 FSMC LCD_STM32F4驱动源码_fsmc

    FSMC是STM32F4中的一个组件,它提供对多种类型静态存储器(如SRAM、NOR Flash等)的支持,也包括LCD控制器。通过FSMC,STM32能够直接高速访问外部存储设备,而不需额外的接口芯片。FSMC支持多种总线模式,例如8/16位...

    STM32F1採用FSMC連接TFT LCD(範例)

    这需要理解LCD的控制命令和数据格式,并通过FSMC发送到LCD。 4. **帧缓冲区管理**:为了显示图像,通常会在RAM中创建一个帧缓冲区,将要显示的内容预先绘制到这个缓冲区,然后通过FSMC快速地将缓冲区内容传送到LCD...

    STM32之FSMC的用法——LCD

    在介绍STM32微控制器通过FSMC控制器使用LCD显示之前,我们需要了解几个基础概念,包括LCD/LCM的工作原理、存储器的基本概念以及FSMC的功能和特点。 首先,LCD/LCM是液晶显示器的基本单位,由两片平行玻璃构成,中间...

    fsmc 驱动LCD

    例如,`stm32fsmc_lcd_init()`函数可能是初始化LCD和FSMC的关键函数,其中包含了对FSMC寄存器的配置和LCD驱动库的初始化调用。代码中可能还有如`lcd_write_command()`和`lcd_write_data()`这样的函数,用于向LCD发送...

    stm32F407采用fsmc驱动lcd

    在本项目中,我们利用STM32F407的FSMC(Flexible Static Memory Controller,灵活静态存储器控制器)来驱动LCD液晶显示屏,这使得开发者能够实现更加复杂和丰富的图形用户界面。 FSMC是STM32系列芯片中用于高速访问...

    基于STM32的FSMC接口驱动TFT彩屏

    在探讨基于STM32的FSMC...通过深入了解STM32处理器和FSMC接口的工作原理,以及TFT-LCD技术和ILI9341芯片的使用,可以掌握如何设计和实现一个高效、稳定的显示解决方案,从而为各种嵌入式系统提供清晰、流畅的显示效果。

    31-FSMC-TFTLCD显示实验.zip

    FSMC是STM32微控制器家族中一个强大的特性,它允许芯片与不同类型的外部存储器进行高速通信,包括静态RAM、NOR Flash和LCD控制器等。TFT(Thin Film Transistor)液晶显示器是一种广泛应用于现代电子设备中的彩色...

    32-FSMC-TFTLCD显示实验.zip

    在本实验中,我们将探讨如何使用STM32F1系列的芯片通过FSMC(Flexible Static Memory Controller)接口来驱动TFT LCD显示屏。FSMC是STM32中一个强大的外设,能够与多种类型的静态存储器进行通信,包括NOR Flash、...

    LCD_FSMC.zip_FSMC ILI9341_FSMC LCD_STM32的ILI9341_stm32 lcd画点_stm

    在本项目中,我们关注的是如何使用STM32的FSMC(Flexible Static Memory Controller)接口来驱动LCD显示屏,特别是使用ILI9341作为LCD驱动芯片。FSMC是STM32中的一个扩展模块,它可以连接到不同的外部存储器,如静态...

    正点原子的STM32F103精英板的FSMC驱动3.5英寸的LCD屏幕的工程

    标题中的“正点原子的STM32F103精英板的FSMC驱动3.5英寸的LCD屏幕的工程”涉及到STM32微控制器、FSMC(Flexible Static Memory Controller)接口以及LCD显示技术。STM32F103是意法半导体(STMicroelectronics)生产...

    基于STM32 的FSMC接口驱动TFT彩屏的设计

    本文提出了一种能直接驱动数字液晶屏的设计方案,方案先介绍了TFT数字彩屏的工作原理,利用STM32处理器的FSMC接口设计的硬件电路和软件程序均能对显示控制芯片进行有效的控制。在实际应用中显示清晰流畅,并且CPU有...

    stm32 fsmc lcd调试

    STM32 FSMC (Flexible Static Memory Controller) 是一种在STM32微控制器中用于扩展外部存储器接口的硬件模块,它允许芯片与多种类型的外部存储设备进行通信,如SRAM、ROM、NOR Flash、NAND Flash和PC卡。...

    LL-STM32F407-FSMC-TFTLCD-HAL

    在实际应用中,使用STM32F407的FSMC来驱动TFT LCD,首先需要通过STM32CubeMX配置微控制器的GPIO、时钟和FSMC接口。然后,根据LCD的具体接口(如SPI、RGB、8080或6800并行)配置相应的引脚和时序。在HAL库的支持下,...

    TFT_LCD(FSMC).zip

    总结起来,"TFT_LCD(FSMC).zip"文件提供的资源涵盖了STM32单片机应用的多个关键领域,包括GPIO控制、串口通信、Flash编程以及TFT LCD汉字显示和SPI接口操作。开发者可以通过学习和实践这个项目,深入理解嵌入式系统...

    STM32-FSMC-液晶显示-英文.zip

    FSMC(Flexible Static Memory Controller)是STM32系列芯片中的一种功能强大的静态存储器控制器,它能够支持各种类型的外部存储器,如SRAM、NOR Flash和LCD等。在本压缩包文件"STM32-FSMC-液晶显示-英文.zip"中,...

Global site tag (gtag.js) - Google Analytics