Målgrupp: Den här artikeln är skriven för hårdvaruingenjörer, OEM-produktchefer och bildkvalitetsansvariga hos importörer och förlag av läs-pennor som behöver förstå hur den inbyggda bildsignalprocessorn (ISP) i B1, B2, F8, K7, KF1, L5, P2, Q6, Q8, T2 och Y6 omvandlar rå CMOS Bayer-data till en ren, avkodad OID-bild. Vi utgår från att du har utvärderat minst en referensdesign och vill veta vad du ska förhandla om när du godkänner ett kontrakt för anpassad sensorjustering.
Varje läs-penna levereras med en kamera. Det köparinriktade databladet kallar den för en "OID-sensor" eller "OCR-kamera", men inuti höljet finns samma trestegs-pipeline som du hittar i en smartphone: CMOS-sensorn, den analoga frontänden och den digitala bildsignalprocessorn. Det som gör ISP-designen för läs-pennor ovanlig är driftsregistret. Pennan trycks mot papper på 0,5 mm till 1,2 mm arbetsavstånd, belyses av en smalbandig 850 nm eller 940 nm IR-LED, dras med 50 mm/s till 250 mm/s av en femåring och förväntas leverera en stabil binäriserad bild inom 100 ms. Den här artikeln går igenom hela ISP:n block för block, med uppmätta justeringsvärden för de 11 modeller vi levererar.
1. Varför läs-pennans kamera inte är en webbkamera
En läs-pennas kamera är en 1/13-tums till 1/9-tums gråskale- eller nära-IR CMOS-sensor med en aktiv yta på ungefär 1,2 mm gånger 0,9 mm, parerad med en fixed-focus gjuten PMMA-lins. Pixel-pitchen ligger mellan 2,2 µm och 3,0 µm, upplösningen är mellan 360 x 240 och 640 x 480, och den analoga frontänden kör 30 fps till 60 fps beroende på modell. Det verkliga narrativet ligger i driftsregistret:
- Arbetsavstånd: 0,5 mm till 1,2 mm (jämfört med 200 mm till oändligheten för en telefonkamera).
- Belysning: 850 nm eller 940 nm IR-LED, inte synligt ljus.
- Objektreflektans: 0,05 mm till 0,10 mm tryckta prickar på bestruket papper med 30 % till 60 % IR-reflektans.
- Rörelseprofil: 50 mm/s till 250 mm/s linjär pennrörelse med 5° till 15° vridning av spetsen.
- Latensbudget: 80 ms till 120 ms från spets-nedtryck till första avkodade ljud.
Dessa begränsningar är anledningen till att ISP:n är en anpassad pipeline. Autoexponering måste konvergera inom 3 bildrutor efter penn-ned, inte 30. Autovitbalans ersätts av en kompenseringsslinga för LED-ström. Brusreduktion är justerad för papperstextur. Och utdata är en binär matris, inte en 8-bitars RGB-bild. Plattformarna B1, B2, F8, K7, KF1, L5, P2, Q6, Q8, T2 och Y6 kör alla en justerad ISP, men justeringen skiljer sig åt beroende på sensorleverantör och värd-SoC.
2. Sensorblocket: CMOS-pixel, analog frontände och ADC
Bildsensorn är den första länken i kedjan. På B1, B2, F8 och P2 använder vi en 1/13-tums VGA-upplösning gråskalesensor från en tier-1 kinesisk leverantör, bildhastighet 30 fps, pixel-pitch 2,8 µm. På K7, KF1, Q6 och Y6 är sensorn samma leverantörs 1/11-tums del, 60 fps, 2,5 µm pitch. L5, Q8 och T2 går upp till en 1/9-tums sensor med 2,2 µm pitch och 60 fps, vilket är anledningen till att dessa tre modeller känns skarpare vid skanning av täta läroböcker.
Varje pixel är en 4-transistor (4T) pinned fotodiodstruktur med en mikrolinsmatris som förbättrar fyllnadsfaktorn från ungefär 35 % till cirka 62 %. Den analoga frontänden inkluderar en programmerbar förstärkare (PGA) med 0 dB till 18 dB intervall i 0,3 dB steg, en 10-bitars kolumn-parallell ADC och en korrelerad dubbelprovtagningskrets (CDS) som minskar kTC-resetbrus med ungefär 6 dB. Den 10-bitars råa strömmen matas till ISP:n via ett 8-lane MIPI CSI-2-gränssnitt vid 200 Mbps per lane i L5, Q8 och T2, och ett 4-lane parallellt gränssnitt vid 100 Mbps i övriga.
| Parameter | B1 / B2 / F8 / P2 | K7 / KF1 / Q6 / Y6 | L5 / Q8 / T2 |
|---|---|---|---|
| Optiskt format | 1/13" | 1/11" | 1/9" |
| Aktiva pixlar | 640 x 480 | 640 x 480 | 720 x 540 |
| Pixel-pitch | 2,8 µm | 2,5 µm | 2,2 µm |
| Bildhastighet | 30 fps | 60 fps | 60 fps |
| Bitdjup | 10-bit | 10-bit | 10-bit |
| Gränssnitt | Parallellt 4-lane | Parallellt 4-lane | MIPI CSI-2 8-lane |
| Dynamiskt omfång | 62 dB | 66 dB | 70 dB |
Köpartips: Be alltid om ett uppmätt SNR10-värde. En 60 fps-sensor med SNR10 under 32 dB ger fler igenkänningsfel än en 30 fps-sensor på 38 dB. Våra L5, Q8 och T2 når 38 dB till 40 dB SNR10 vid full förstärkning.
3. ISP:ns frontände: svartnivå, linsskuggning och korrigering av defekta pixlar
Rå sensordata anländer till ISP:ns frontände med tre strukturerade artefakter: svartnivåoffset, linsskuggning och isolerade defekta pixlar. Varje måste tas bort innan någon rumslig filtrering kan köras.
Svartnivåkorrigering subtraherar ett per-kanal pedestalvärde som lagras i OTP-minnet på sensormodulen. För våra 850 nm-delar är pedestalern typiskt 64 till 96 LSB av 1024, för 940 nm-delar 80 till 120 LSB. ISP:n läser pedestalern vid uppstart och tillämpar den bildruta för bildruta. Utan detta steg skulle tröskeln för efterföljande binärisering driva med 6 % till 9 %, tillräckligt för att vända en 0,07 mm prick från "svart" till "vit" och korrupta OID-rastret.
Linsskuggningskorrigering tillämpar ett 5 x 5 till 9 x 9 förstärkningsnät över bilden, med nätkoefficienter också lagrade i OTP. Centrumpixlar får förstärkning 1,00, hörnpixlar får förstärkning 1,18 till 1,32. Vi justerar nätet vid vår optikstation med ett uniformt 90 % reflektansmål vid det nominella arbetsavståndet 0,8 mm. Hörnens ljusstyrkeuniformitet efter skuggningskorrigering är 96 % till 98 % över alla 11 modeller.
Korrigering av defekta pixlar identifierar pixlar som avviker med mer än 30 LSB från sina 8 grannar, markerar dem i en runtime-karta och interpolerar dem med ett medianfilter. Defekthastigheten från sensorleverantören är under 0,02 %, så en 640 x 480-sensor levereras med 50 till 70 defekta pixlar. ISP:n uppdaterar kartan över defekta pixlar var 50:e bildruta för att fånga mjuka defekter som utvecklas med termisk cykling.
4. Slingan för autoexponering och LED-strömstyrning
En läs-penna har ingen mekanisk iris. Ljuset som når sensorn styrs av IR-LED-ström, LED-pulsbredd och sensorns elektroniska exponeringstid. ISP:n kör en sluten AEC-reglerkrets (autoexponering) som siktar mot ett bildmedelvärde på 130 LSB av 255 efter gamma, med ett acceptansfönster på 110 till 150 LSB.
Slingan körs vid 60 Hz i L5, Q8 och T2 och 30 Hz i de övriga 8 modellerna. Vid penn-nedtryck går regulatorn in i "snabb konvergens"-läge: den ställer LED-strömmen till ett förberäknat startvärde (8 mA till 14 mA) och använder en hög proportionell förstärkning under de första 3 bilderna. Konvergens inom ±10 LSB av målet uppnås på 35 ms till 50 ms.
LED-strömmen är pulsad, inte kontinuerlig. Duty cycle är 8 % till 15 % med en toppström på 40 mA till 80 mA, vilket ger en genomsnittlig strömförbrukning på 4 mA till 10 mA. Pulsning håller LED-övergångstemperaturen under 45 °C och förlänger LED-livslängden till en beräknad 50 000 timmar vid 25 °C omgivning. ISP:n synkroniserar LED-pulsen med sensorns vertikala synk.
5. Autoförstärkning, denoising och skärpning
När AEC har låst tillämpar AGC-blocket (autoförstärkningskontroll) en finkornig analog förstärkning på 0 dB till 12 dB för att trycka signalen till den övre halvan av ADC-omfånget. AGC är en andra stegs AEC med finare upplösning. Kombinerat dynamiskt omfång är 72 dB till 78 dB över de 11 modellerna.
Denoising är ett 3 x 3 till 5 x 5 bilateralt filter som bevarar kanter. Styrkan är justerad till 0,35 för B1, B2, P2 och F8 och 0,55 för K7, KF1, Q6, Y6, L5, Q8 och T2. Bilateral filtrering minskar tidsbrus med 4 dB till 6 dB och rumsligt brus med 3 dB till 5 dB, med kantbevarande över 0,85 korrelation.
Skärpning använder en 3 x 3 unsharp mask med förstärkning 0,4 till 0,7 och tröskelvärde 8 LSB till 14 LSB. Målet är att återställa kantens skärpa som går förlorad vid brusreducering, eftersom binariseringen nedströms är beroende av rena punktgränser. Överskärpning orsakar ringningar runt punkterna och ger falska positiva identifieringar i rutnätsdetekteringen. Inställningen ger punktkantens stigtid till 1,2 pixlar till 1,8 pixlar.
6. Gamma, tonmappning och vägen till binarisering
De flesta ISP:er i lässpennor kör en styckvis gammakurva på 1,6 till 1,8 för att lyfta mittonerna. Efter gamma omvandlas bilden från 10-bitars linjär till 8-bitars log-domän. ISP:n förgrenar sig: OCR-/OID-grenen kör en global eller lokal tröskelbaserad binarisering, medan förhandsvisningsgrenen (endast på L5, Q8 och T2 med LCD-tillvalet) kör en histogramutjämning för mänsklig visning.
För OID-grenen beräknas binariseringströskeln på två sätt. I "statiskt" läge är tröskeln ett fast värde på 128 LSB, vilket används när LED-strömmen är stabil. I "adaptivt" läge, standard på K7, KF1, Q6, Y6, L5, Q8 och T2, beräknas tröskeln från ett 32 x 32 lokalt medelvärde med en offset på 16 LSB. Adaptiv binarisering minskar punktdetekteringsfelen med 35% till 50% på papper med tryckta bakgrunder.
ISP-utgången är en ren 1-bitars eller 8-bitars gråskalebild, ramsynkroniserad med penn-ned-avbrottet. Bilden skickas till OID-avkodaren eller OCR-motorn via en delad SRAM-ringbuffert. Total ISP-latens, från sensorns integration klar till binariserad bild redo, är mellan 22 ms och 38 ms.
| Modell | ISP-genomströmning | Total latens | Adaptiv binarisering |
|---|---|---|---|
| B1 / B2 / P2 | 30 fps | 38 ms | Endast statisk |
| F8 | 30 fps | 35 ms | Statisk (firmware 3.1.2 stödjer med adaptiv) |
| K7 / KF1 | 60 fps | 28 ms | Adaptiv (firmware 1.9.5) |
| Q6 / Y6 | 60 fps | 26 ms | Adaptiv (firmware 3.3.1) |
| L5 / Q8 / T2 | 60 fps | 22 ms | Adaptiv + lokalt histogram |
7. Vitbalans är ett specialfall: LED-kompensation
Auto-vitbalans finns inte i en lässpenna eftersom sensorn är monokrom och belysningen är en enda IR-våglängd. Det som finns är en LED-kompensationsloop som kompenserar för:
- LED-ljusstyrkans fall när junction-temperaturen ökar under skanning.
- Variation i papperets reflektans mellan vita och tonade (cream, ljusblå) boksidor.
- Batterispänningens fall från 4,2 V till 3,5 V, vilket minskar LED-strömmen med 12% till 18%.
Kompensationen är en mjukvaruslinga som körs vid 10 Hz, läser bildens medelvärde från ISP-statistikmotorn och justerar LED-strömmens börvärde med ±2 mA. På L5, Q8 och T2 kompenserar slingan också för omgivningstemperaturen med hjälp av en on-die-sensor och håller LED:ens junction-temperatur på 38 °C ± 3 °C över 0 °C till 40 °C.
8. Strömförbrukning i ISP-blocket
ISP-blocket är den största stationära strömförbrukaren i pennan, efter audioförstärkaren. Uppmätt strömfördelning för L5 vid 60 fps kontinuerlig skanning:
| Block | Effekt (mW) | Andel |
|---|---|---|
| CMOS-sensor + AFE | 38 | 16% |
| ISP digital kärna | 72 | 30% |
| LED-drivare | 86 | 36% |
| DRAM-bandbredd | 24 | 10% |
| Övrigt (klocka, IO) | 18 | 8% |
| Totalt | 238 | 100% |
Vid 238 mW genomsnittlig skanneffekt ger L5:s 1200 mAh-batteri på 3,7 V (4,44 Wh) cirka 18 timmars aktiv skanning, även om den angivna "speltiden" på 8,5 timmar inkluderar ljuduppspelning och bakgrundsbelysning. Övriga modeller skalas proportionellt: T2 med 2500 mAh når 14 timmars kontinuerlig skanning, P2 med 500 mAh når 4,0 timmar och B1 med 700 mAh når 5,0 timmar.
Köpartips: När du utvärderar påståenden om "batteritid", be om testprofilen. En penna märkt "8 timmar" vid 20% skanningsdriftcykel ger 4 timmar vid 50% skanningsdriftcykel. Våra publicerade siffror använder en profil med 40% skanning, 30% ljud och 30% standby, närmare klassrumss verklighet.
9. Inställning, kalibrering och kvalitetsgrindar
Varje sensormodul ställs in vid vår optikstation före laminering. Fixturen presenterar 7 referensmål: vitt kort, grått kort (18% reflektans), svart kort, punktgitter med 0,07 mm stigning, punktgitter med 0,05 mm stigning, textprov och ett påfrestat pappersprov med simulerat kaffefläck. ISP-parametersatsen genereras per modul och lagras i OTP. Utbytet är 96,4% över de 11 modellerna; 3,6% kassationsandel domineras av linsdecentrering och kluster med defekta pixlar.
AQL på ISP-inställningslinjen är II-nivå: Kritiska 0, Major 1,0, Minor 2,5. Ett "Major"-defekt här inkluderar AEC-konvergens långsammare än 70 ms, hörnjämnhet under 92%, eller SNR10 under 32 dB. Allt i dessa tre kategorier går till omarbetning eller kassation. Vi publicerar ISP-inställningsrapporten per modell med varje produktionsbatch.
10. Så specificerar du ISP-krav i en OEM-förfrågan
För köpare som skriver en OEM- eller ODM-specifikation bör ISP-kravssektionen referera till mätbara parametrar, inte marknadsföringspåståenden:
- SNR10 vid full förstärkning ≥ 36 dB för K7 / KF1 / Q6 / Y6 / L5 / Q8 / T2; ≥ 32 dB för B1 / B2 / F8 / P2.
- AEC-konvergens till ±10 LSB av målet inom 50 ms (60 fps-sensorer) eller 70 ms (30 fps-sensorer).
- Hörnens ljusstyrkejämnhet ≥ 95%.
- Total ISP-latens ≤ 30 ms för 60 fps-sensorer, ≤ 40 ms för 30 fps-sensorer.
- Stöd för adaptiv binarisering i firmware.
- LED-kompensationsslinga med dokumentation av temperaturkoefficienten.
Om en leverantör inte kan förbinda sig till siffror i ovanstående format är sensorinställningen ännu inte produktionsklar. För OCR-motorn som konsumerar ISP-utdata, se Reading Pen OCR Engine vs Deep Learning OCR. För bildkvalitet på displaysidan för L5, Q8 och T2, se Reading Pen Display Luminance Uniformity. För OID-avkodaren, se How OID Reading Pen Technology Works. För att begära en provexemplar med ISP-inställningsrapporten, se /request-a-quote.