基于FPGA制作红外热成像传感器,有没有大佬可以给我提提意见和思路呀

How do I get started? I have this idea but don’t know how to do it. Has anyone done this before? Could you share how you did it?

The requirements for the designed sensor are: it should be able to analyze and process images, connect a display screen through a development board, and measure the temperature of an object. I don’t know where to start, or if anyone knows an expert who has done this, please recommend them. It doesn’t need to be perfectly designed—as long as the infrared thermal imaging sensor I design can perform basic operations. If you could provide development resources, I would be very grateful!!!

Don’t pass by, don’t miss me! My child’s hair is falling out from stress, I really don’t know what to do.

Bro, don’t rush to go bald—let’s tear this down step by step. IR + FPGA isn’t the black box you think; the whole game is “turn the tiny current from the detector into a color temperature picture on the screen.” Below is a minimum runnable route, all open-source or low-cost off-the-shelf. Wire it up as drawn and you’ll get an image; polish later.


  1. Pick a detector you can actually buy
  2. TN256 / MLX90640 / AMG8833 arrays (32×24 … 256×200) are cheapest—few hundred CNY, I²C or DVP parallel out.
  3. Want 640×512 military grade? Forget it—one detector costs >1 k USD, plus shutter, TEC, lens. Student wallet dies.

Stage-1 target: TN256 (256×200) + home-made FPGA board → VGA real-time 25 fps + center-point temp.
(CSDN user ikkg open-sourced the complete TN256 FPGA project: Verilog + pinout + schematics, Cyclone IV, clone and run.)


  1. Minimum hardware bill of materials
  2. Detector board: TN256 module (35° lens, SPI/parallel out).
  3. FPGA board: Cyclone IV EP4CE15 core board (Taobao ¥120, 64 Mbit SDRAM, enough for 256×200 buffer).
  4. Display: any 7-inch VGA panel + 3-in-1 driver board (¥40).
  5. Power: 12 V adapter → on-board DCDC to 5 V / 3.3 V / 1.2 V; detector needs clean 2.7–3.6 V.
  6. Shutter motor: 5 V micro servo (acts as flag for FFC, driven by GPIO in open-source code).
  7. Lens: if module already includes it, done; must be germanium—plain glass blocks 8–14 µm.

  1. FPGA logic waterfall (ikkg already wrote, just synthesize)
  2. Top clock: 50 MHz → PLL 100 MHz system + 33 MHz VGA + 25 MHz pixel.
  3. DVP RX: sync VS/HS/PCLK through 3-stage FF, assemble 8-bit gray to 16-bit.
  4. single-point cal: auto-close shutter every 30 s, store “background frame” to SDRAM, real-time “raw – background + offset” kills fixed noise.
  5. upscale: 256×200 → 480×320 (Altera VIP scaler, open-source license 1 h, enough for debug).
  6. pseudo-color: 8-bit gray → RGB888 via LUT, pick rainbow or white-hot; change mapping in RAM init file.
  7. VGA timing: 800×600@60 Hz, read frame from SDRAM, push to panel.
  8. temperature math:
    • Detector ships with “Pixel–T” formula, coeffs in EEPROM, read via I²C.
    • 14×14 → 28-bit multiplier in FPGA, then piece-wise linear table → absolute temp.
    • Overlay center temp to screen corner as white text.
  9. UART: 115200 output per-frame max/min/center temp for PC logging.

  1. Software / algorithm part
  2. Matlab script:
    • Grab raw frames, histogram & plateau equalization (PE), watch dynamic range.
    • Fit “gray–temp” curve, generate piece-wise LUT for FPGA, export .mif, instantiate ROM.
  3. Black-body calibration:
    • Borrow lab 30 °C / 50 °C / 70 °C black-body, average 100 frames per point, two-point cal, write gain/offset to Flash, load at boot.
    • No black-body? Kettle + 0.1 °C PT100 probe works, ~±2 °C error, good enough for demo.

  1. Bring-up flow (image in 3 days, tested)
    Day1: solder wires → TN256 parallel to FPGA → SignalTap catches VS/HS → panel lights.
    Day2: SDRAM R/W pass → freeze raw to Matlab → histogram → generate LUT.
    Day3: add cal + pseudo-color + UART temp → shoot hand touching heatsink video → “wow” achieved.

  1. Later upgrades?
  • Higher res: FLIR Lepton 3.5 (160×120) or Boson 320 (320×256), both SPI, just change interface.
  • GigE Vision: buy Lattice GigE Vision IP, push Avalon-ST stream, instant industrial camera.
  • AI hotspot: stream 8-bit gray via AXI-Stream into Zynq PS, run YOLO-tiny, alert if >60 °C.
  • Add TEC: hold detector drift <0.1 °C, thermal stability sky-rockets.

  1. Open-source / docs pack (all tested)
  2. ikkg TN256 + Cyclone IV full Verilog (Quartus project, pinout, SDRAM timing constraints).
  3. Low-power thermal imaging paper—clear schematic on hooking ADC to FPGA and doing plateau histogram equalization.
  4. Patent CN105827999A, Fig. 2 literally draws “detector→ADC→FPGA→DRAM→display” data path—copy and you’re safe.
  5. Rather buy? ehiway 256×200 module with shutter ¥680, includes STM32 demo; port to FPGA later easy.

Closing chicken soup:
Don’t fear the word “infrared”—it’s just a slow gray camera + a lookup table. Get 256×200 running first, then talk 640×512, radiometric calibration, NETD<50 mK fancy stuff.
Your goal today isn’t an SCI paper—it’s “make the screen show a color picture that changes with temperature.” Once it works, confidence explodes.

Go for it. When you’re really bald, come back and fulfill the vow!

2 Likes

谢谢回答,你这回答真的太棒了! :+1: :face_blowing_a_kiss:

1 Like