General Specification

For

Color CIS Mini Flat Bed 

Scanner

Revision 0.3

Date : May 26, 1997

By: Laura Hsia ( HwardWare R&D Department )

Revision Control Page

Date	Writer	Item of Change	Reason	Check	Approved
9/27/1997	Robert Chen		Established			
November 26, 1996	Laura Hsia	All	Spec. Build			
May 26, 1997	Laura Hsia	All	Spec. Update			

						

Table of Content
Chapter 1: Introduction
1.1 General Description
1.2 General Specification
1.3 System Configuration
1.3.4 Scanner Side Connector Description
1.3.5 Host Side Connector Description
1.3.6 Pass Through Connector Description
1.3.7 Power Jack Connector Description
1.8 Product Accessory
1.4.9 Artec Brand
1.4.10 OEM Customer
1.11 SoftWare Interface & User Interface
Chapter 2: Electronics Design Specification
2.1 Interface Protocal
2.2 Command Timing
2.3 Artec Private Wake-up Sequence
2.4 Register Description
2.5 Driver Programming Guide
2.5.6 Standard Sheet-Fed Scanner Mode
2.5.7 ADF(Automatic Document Feeder) Mode
2.5.8 Flat-Bed Scanner Mode
2.9 Calibration Method
2.10 Image Quality Specification
2.11 Power Requirement
Chapter 3: Mechanical Design Specification
3.1 Outside Dimension
3.2 Weight
3.3 Cosmatics Specification
3.3.4 Color Looking
3.3.5 Dirts & Creaking
3.6 Cables
3.4.7 Lengths & OD
3.4.8 Cable Strength
3.9 Detach & Attach of CIS Module
Chapter 4: Reliability Specification
4.1 Temperature & Humidity
4.2 Scanning Life
4.2.3 On/Off of CIS Module
4.2.4 Roller Life
4.2.5 Button Life
4.6 Vibration(Un-Packed & Packed)
4.7 Shock 
4.8 Drop(Un-Packed & Packed)
Chapter 5: Regulation Approved

Chapter 1: Introduction
Super-Mini-Size is the first color CIS flat-bed scanner introduced by Artec, we would like to develop  the smallest flat-bed scanner to keep our ability of competition in world market. The traditional optical system of  flat-bed scanner is using  the color CIS and the color CIS is much smaller than traditional mirror box, so we will choice color CIS for our optical system in super mini-size flat-bed scanner.

1.1 General Description
Super mini-size is a flat-bed type color scanner which user put one paper each time on the scan platform and use software button to trigger scan. The scanning width is 8.5 inches, length is 11.7 inches.  It also will not support transparency scan because the color CIS using led light source.  The scanner can supported many scanning modes which is programmed via Parallel Port. This product can provide better image after software shading. Also the image quality should be good enough especially in resolution for OCR intensive users.

1.2 General Specification
3) Scanning Method		CIS moving operation in scanning direction.
4) Scanning Width		8.5 inched +/- 3%
5) Scanning  Length     11.7 incheed +/- 3%
6) Scanning Mode		Line-Art, Gray(True Gray, Red Gray, Green Gray, Blue Gray),    
Color mode(with On/Off Average Mode selected by Software)
7) Optical  Resolution	300 x 600DPI
8) DPI selection		50,100,200,300DPI selected by software for all modes
9) Interface			Parallel Port with SPP, Byte, EPP mode Supported
10) Contrast Control		Controlled by software, with 256 steps. Ranged from 50%(Least 
Contrast) - 100%(Default Contrast) - 200%(Most Contrast)
11) Scan Trigger			 In Flat-Bed mode, ‘Start Button on CIS module’ will trigger  
 scan,‘Done key’ or ‘Sleep time escaped’ will terminate scan.
12) Exposure Time		5ms x 3/line for 300DPI picture color mode
5ms/line for 300DPI text mono mode
    11)Paper Feeder Limitation	Single Page -> 
                          Paper Length -> 50mm - Unlimited
						Paper Width -> 20mm - 216mm
						Paper Weight -> 46Kg - 110Kg
						Paper Thickness -> 0.05mm - 0.4mm
						Paper Jam Possibility -> Under 1/200.
    12)Roller System			Retain normal function after 15000 scans for letter-size paper
    13)Cable				Length 150mm, Tensile strength for 6Kg for 30Seconds
    14)Temperature			Storage -> -10 to 70 Degree C
 Operation -> 10 to 40 Degree C  
15)Humidity			Storage -> 10 to 90% RH non-condensing
  Operation -> 35 to 80% RH non-condensing
16)Power(Linear Adapter)	15VDC/1A with voltage regulator.
1.3 System Configuration
The HardWare system will include one parallel port(D-sub 25pin) cable, one power adapter(linear power without regulated), one calibration card, and bare engine. 
1.3.1 Scanner Side Connector Description
 P1284-A Plug(Please reference to P1284 Specification)
1.3.2 Host Side Connector Description
 P1284-A Receptacle(Please Reference to P1284 Specification)
1.3.3 Pass Through Connector Description
 P1284-A Receptacle(Please Reference to P1284 Specification)
1.3.4 Power Jack Connector Description
 Outside metal plate is power gnd
 Inside plug is power 12VDC
1.5 Product Accessory
The total Accessory will depends on what kinds of business this product can achieve. 
1.4.1 Artec Brand
HardWare Box
 1 Bare Engine
 1 Parallel Port(D-sub 25) cable
 1 linear power adapter
 1 Calibration Card
SoftWare Box
 1 Getting Start Booklet
 1 Diskette installer for our own software ‘driver’, ’image editing software’.
 1 Diskette installer for third party ‘image file management software’.
 1 Diskette installer for third party ‘OCR’
 1 Warrantly & Registration Card
1.4.2 OEM Customer
 HardWare Box
 1 Bare Engine
 1 Parallel Port(D-sub 25) cable
 1 linear power adapter
 1 Calibration Card
1.3 SoftWare Interface & User Interface
Since sheet-fed scanner will target home market, the software interface and user interface should provide ease of use and friendly interface. In software, ‘One Click and Go’ will be the only thing that user will often do no matter she/he want to ‘Scan’, ‘Copy’, ‘Print’, or even ‘Fax’(Keep at lease 20 numbers that user often dial). In driver UI, any key word or setting should not let user to think and confuse, the ordinary user can understand every setting she/he want to do without ask experts. In HardWare UI, putting paper in(in Sheet-Fed mode) or press button(in Hand-Held mode) is the only thing she/he will do in order to scan. Automatic trigger scan and automatic stop scan will ne a must.

SoftWare Interface Requirement:
1) Scan
2) Print
3) Copy
4) Fax(combined with fax/modem card)
5) Image file management
6) OCR
7) Business Card arrangement
HardWare Interface Requirement
1) Paper in Sensor (Used to detect when user place paper then trigger scan)
2) Paper to Scan Line Sensor(Used to calculate the start scan line and when paper is end to stop scan)
3) Hand-Held Start Button(Used to start/stop scan when in hand-held mode)
4) CIS module Attached/Detached sensor(Used to decide whether user want sheet-fed mode or hand-held mode

Chapter 2: Electronics Design Specification
The electronics design of this system will cover interface, register setting, and image quality. Also the specification should cover future Flat-Bed application. Also since the sheet-fed should consider user’s feeling when using this system, any design that will be finalized should be tested under extensive user’s feeling.
2.1 Interface Protocal
Cobra interface with host system(PC) using P1284 Protocal, but exclude ECP mode. Also the  
Negociation method do not follow the Protocal but using our own sequence to wake-up the system.
Please refer to the P1284 specification for more detail.
2.2 Command Timing
Please refer to the P1284 specification
2.3 Artec Private Wake-up Sequence
The system has one sequence to wake-up by the software from passthrough mode, describe as
follows.

D7-D4         6              C           F            2           1

D3

Using rising-edge of D3 to sense the nibble data(formed by D7-D4), if the sequence is 6CF21 
then the system will go into scanner mode. If any nibble data is wrong then the ‘Checker’ will go 
back to idle mode to re-trace this sequence. The 4 control lines(nInit, nStrobe, nSelectIn, nAutoFd) 
should always be in ‘HIGH’ state for correct wake-up sequence or the ‘Checker’ will be reset to 
idle mode. Go back to passthrough mode will need software to program one bit.

2.4 Register Description

This section will describe the register detailly, also in the next section, how to program this engine 
will be described.

Name	Port Adr	R/W	VHDL Name	Description	Default
Protocal Setting Register
Protocal Configuration Register	01H	R/W	enscan  passt    nibble byte epp ecp  init_tst_mode  tst_mode	Bit(7)   -> 0 == disable Scan            1 == Enable Scan   Bit(6)   -> Passthrough  mode/ Scanner active mode           0 == disable passthrough           1 == Enable Passthrough  mode  Bit(5,4) ->  (0,0) == Nibble Mode            (0,1)== Byte Mode            (1,0)== EPP Mode            (1,1)== ECP Mode  Bit(3) ->  ASIC test only  Bit(2) ->  ASIC test only  Bit(1,0)   -> Not used, should program with (0)	00H	
Status Control Register
Sensor Register	02H	R	    paper_in     paper_in_line     mt_home       autoscan     Sheet_Sensor_0/1     flat_nsheet 	All this bits reflect the real state of sensor, which should be carefully debounce-free designed in hardware. Sheet-Fed  Scanner: Bit(7) -> Paper In Sensor         0 == Paper empty         1 == Paper In     Sheet-Fed Scanner:     Bit(6) -> Start Scan Line Sensor         0 == Paper unreach start scan line          1 == Paper reach start scan line  Flat-Bed Scanner: Bit(5) -> Motor Position Sensor         0 == Motor leave end position          1 == Motor reach end position    When autoscan  button  is pressed  this bit will be latch to 1. Bit(4) -> ‘AutoScan  Button’ on top          1 == Button Pressed         0 == Button Released  Sheet-Fed Scanner: These sensors  indicate  how many sensors chose. Bit(3,2) -> (0,0) == 2 pcs Sensor select          (0,1) == 1 pcs Sensor select          (1,0) == 0 pcs Sensor select           Bit(0) -> 0 == Sheet-Fed Scanner         1 == Flat-Bed Scanner 	00H	
Configure Setting Register	03H	R/W	rst_ascan   tst_sram   mt_tst_go   mt_stop   mt_align    en_wdg_timer       sel_cisclk	Bit(7) -> Acknowledge the PC is received autoscan         0 == PC not received autoscan         1 == autoscan is ready Bit(6) -> Test  SRAM          0 == disable test SRAM         1 == enable test SRAM Bit(5) -> Motor Control by  S/W         0 = Motor Disabled         1 = Motor Enabled Bit(4) -> Motor Enable in Any Mode         0 == Motor Enabeld         1 == Turn off Motor under any condition Bit(3) -> Motor moving forward or backward         0 == Motor Forward         1 == Motor Backward  Bit(2) ->When this bit is selected the watch-dog-timer will enable. The system will halt when host not read or write Scanner.          0 == No watch-dog-timer         1 == enable watch-dog-timer   Bit(0) ->Cisclk  2         0 == Cisclk no change         1 == Cisclk  2 Bit(1)   -> Not used, should program with (0)	00H	
LineControl Register
Scan Mode Register	04H	R/W	 dpi50 dpi100 dpi200 dpi300    gray color truegray  pxlave    lineart    dpi600	Bit(7,6) -> Resolution          (0,0) == 50DPI          (0,1) == 100DPI          (1,0) == 200DPI          (1,1) == 300DPI  Bit(5,4) -> Output Data Mode          (0,0) == Not used          (0,1) == Gray, 8bit/pixel          (1,0) == Color, 24bit/pixel          (1,1) == truegray  Bit(3) -> Pixel Average Mode enable          0 == Disabled          1 == Enabled  Bit(2) -> Output Data Mode          0 == Disabled          1 == Enabled  Bit(1) -> Resolution          0 == Disabled          1 == Enabled Bit(0) -> Not used, should program with (0)	00H	
Line Time Register	05H Low 06H High	 R/W	linetime(15..0) 	Line Time Register decide how many pixel clocks are there for one scan line .   Unit = 8 * system clk	 00H	
Start Number of Image Pixel Register	07H Low 08H High 	R/W	pxlbegin(11..0) 	Start Pixel Register decide the most left side of pixel number which software want to get in the image width. Unit = Pixel Number	00H	
Stop Number of Image Pixel  Register	09H Low 0AH High	R/W	pxlend(11..0)	Stop Pixel Register decide the most right side of pixel number which software want to get in the image width. Unit = Pixel Number	00H	
Threshold Register	0BH	R/W	threshold_u(7..0)	Threshold for Line-Art Mode upper level.	00H	
Threshold Register	2AH	R/W	threshold_d(7..0)	Threshold for Line-Art Mode down level.	00H	
Motor Control Register
The Empty of image line Register 	0CH Low 0DH High	R/W	empty_step(11..0) 	Write to this register will decide how many steps should the engine go empty without receive data. (0CH,0BH) = 64k steps Unit = Steps 	00H	
SoftWare Motor Steps High Byte Register	0EH Low 0FH High	R/W	mt_step(11..0) 	Write to this register will decide how many steps should the engine go when the motor is under control of software if not stop by sensor. Read from this register will tell how many steps still left to go from last write if stop by sensor or motor disable by software.(for non scan mode) (0CH,0BH) = 64k steps Unit = Steps	00H	
SoftWare Motor Speed High Byte Register	10H Low 11H High	R/W	mt_speed(15..0)	This Register decide the speed of motor rotate when in SoftWare Control. Actually the value is the period of one step. Unit = system clk	50H(L) C3H(H)	
CIS LEDControl Register
CIS LED Control Register	12H	R/W	swledon    rledon   gledon   bledon 	Bit(7) -> LED On/Off Control By S/W        0 == LED not control by HardWare        1 == LED control by SoftWare  Bit(6) -> Red LED On        0 == Turn Off Red LED        1 == Turn On Red LED Bit(5) -> Green LED On        0 == Turn Off Green LED        1 == Turn On Green LED Bit(4) -> Blue LED On              0 == Turn Off Blue LED        1 == Turn On Blue LED Bit(3,2,1,0) -> Meaningless	00H	
Red LED On  Byte Register	13H Low 14H High	R/W	exp_r (15..0)	This Register decide the Red LED On time for one scan line Unit = 8 * system clk	00H	
Green LED On Time Register	15H Low 16H High	R/W	exp_g (15..0)	This Register decide the Green LED On time for one scan line Unit = Pixels Clock	00H	
Blue LED On  Byte Register	17H Low 18H High	R/W	exp_b (15..0)	This Register decide the Blue LED On time for one scan line Unit = 8 * system clk	00H	
SRAM Control Register
Maximum Scan Line In Buffer	19H  	R/W	maxline(7..0)	This register decide the maximum scan line for the system to store before stop scanning. Unit = line	00H	
Number of Bytes for one scan line	1CH Low 1DH High	R/W	oneline(12..0)	This register decide how many bytes stored in SRAM of one line. (Oneline = actual value - 1) Unit = Bytes	00H	
Image Buffer Test  Data Register	1EH		pc_databus_wr (7..0)	This register use in testing SRAM only. When the PC is write data to SRAM , data will stored in this register.	00H	
Image Buffer Test Address Register	1FH Low 21H High 	R/W	pc_addrbus(15..0)	This register use in testing SRAM only. This register will tell what address the SRAM been pointed. 	00H	
 Image Buffer      Line Count    Registert	22H Low 	R/W	sram_line(7..0)	This register indicate how many lines in SRAM.		
Motor Hold time Registert	25H Low 	R/W	mt_hold(7..0)	This register indicate how many time the motor will moving. Unit = 1.67ms .  Maximum times=427.8ms 		
Motor Back Registert	26H		mt_back(7..0)	This register indicate how many step the motor will be back. Unit =16 steps .  Maximum steps=4080 steps.	80H	
CIS Timing Mask Register	27H	R/W	darkhead(7..0)	This register indicate how many pixel will be ignore before turn on led light source.  Unit =pixel .  Maximum pixels=255 pixels.	00H	
Motor Head Register	28H		mf_step(7..0)	Sheet-Fed  Scanner: When Scanner is in the sheet-fed mode , select two sensor ,and paper_in= 1, scanner  will go ahead until paper_in_line=1. The register decide how many steps the motor move. Unit = 16 steps.  Default = 4080 steps.	80H	
Motor Tail Register	29H		mw_step(7..0)	Sheet-Fed  Scanner: When the scanner is end of scanning the motor will be retire paper . The register decide how many steps the motor move. Unit = 16 step. Default = 4080 steps.	00H	
Watch Dog Timer Register	2BH		watch_dog_timer (7..0)	This register indicate how many time the scanner is stop walk after PC not r/w scanner.  Unit = 1.6s  Maximum = 408s	02H	
Sensor Register	2CH	R	Paper_jam        touch2      touch1      touch0        rst_paper_jam    rst_touch2    rst_touch1    rst_touch0	When paper is jaggle  this bit will be latch to 1. Sheet-Fed  Scanner:  Bit(7) -> paper jam or not         0 == Paper OK         1 == Paper Jam    This bits reflect the real state of sensor, which should be carefully debounce-free designed in hardware.  Bit(6) ->Reserved         0 == Sensor Empty         1 == Sensor In  This bits reflect the real state of sensor, which should be carefully debounce-free designed in hardware.  Bit(5) -> Reserved         0 == Sensor Empty         1 == Sensor In  This bits reflect the real state of sensor, which should be carefully debounce-free designed in hardware.  Bit(4) -> Reserved              0 == Sensor Empty         1 == Sensor In  Sheet-Fed Scanner: When this bit is set to 1 the signal paper_jam will set to 0. Bit(3) -> Reset paper_jam signal         0 == status unchange          1 == reset paper_jam  Reset touch2 Sensor         0 == Sensor no change         1 == Reset Sensor  Reset touch1 Sensor         0 == Sensor no change         1 == Reset Sensor  Reset touch0 Sensor         0 == Sensor no change         1 == Reset Sensor 		

2.5 Driver Programming Guide
2.5.6 Standard Sheet-Fed Scanner Mode
Please Refer to Section 2.4
2.5.7 ADF(Automatic Document Feeder) Mode
Please Refer to Section 2.4
2.5.8 Flat-Bed Scanner Mode
Please Refer to Section 2.4
2.9 Calibration Method
Every Scanner need some method to correct the imperfectness of Electro-Opto Device, this section 
describe how we do it. Also Color CIS’s image performance is worse then CCD’s, our system need 
some more complicated method to do it.
2.6.10 Sheet-Fed Mode 
 Inside the accessory, our system has one ‘Calibration Card’ which include some ‘Uniform 
 Bright Area’,  ‘Uniform Black Area’, and ‘Uniform Gary Area’.  The use of it is 
 described  belows.
 Uniform Bright Area: Since the CIS’s LED has large deviation in brightness, we need 
 some method to let the driver to decide the ‘Turn-On’ time for each LED(R,G,B). The 
 software use this area to adjust the brightness for each LED before doing any Dark & 
 White Calibration. After this the ‘Turn-On’ time is decided and save to the ‘.INI’ file.
 Uniform Dark Area: Since the CIS’s ‘Dark Pixel Uniformity’ is very bad then CCD, we 
 need adjust the output of every pixel when LED is off, before we do White Calibration. 
     Uniform Gray Area: Since the CIS’s ‘PRNU’ is also very bad, we need to correct this by
     Gray Calibration.
    
     After we do all the calibration, the data should be saved to some ‘.INI’ file in order to let 
     the scanned image looks good.
     Important Notes: Before any scanning, the driver should check this file, if not present then 
     the driver should pop-up one diag-box to inform user she/he need to do it again. Also the 
     date of this file should be maintain, every three months, the driver should inform the user 
     to do it again if the image do not look good in the default setting.
2.6.11 Flat-Bed Mode
In the flat bed mode, since the calibration paper is hided inside the engine. It do not have any 
chance to dirt it, we should built this paper inside it instead of using calibration chart.
The ‘Reference Paper’ should include ‘Uniform Bright Area’, ‘Uniform Black Area’, and 
‘Uniform Gray Area’. All the calibration method is the same as above.
2.12 Image Quality Specification
2.7.13 Geometric Accuracy
2.7.1.14 Horizontal Registration : +/- 3mm
2.7.1.15 Vertical Start Line Accuracy : +/- 3mm
2.7.1.16 Horizontal Magnification : +/- 3%
2.7.1.17 Vertical Magnification : +/- 5%
2.7.1.18 Skew : +/- 3 Degrees
2.7.1.19 Straightness : 6mm
2.7.1.20 Distortion : +/- 1mm
2.7.1.21 Consistancy : In 10 Scans, the data for above specification is within 5%
2.7.22 Image Response
 All this test should be done after calibration
2.7.2.23 Black Level : When scan the area of 2% reflectance, the average data for all three 
  channel should fall between 2 - 8.
2.7.2.24 Gray Level : When scan the area of 71% reflectance, the average data for all three 
     channel should fall between 190 - 220
2.7.2.3 Gamma Gain : When scan the 2%, 10%, 40%, 71%, and 84%, the average form by 
        these 5 channel should plot one straight line that will be covered by 
        Gamma Curve 0.95 - 1.05
2.7.2.4 SNR :	   When scan 200 lines at 40% reflectance, the SNR should be higher 
               then 30dB.
2.7.25 Total System Performance:
 All these tests should be done after calibration
2.7.3.26 Resolution : When scan the PM189D test chart, the resolution should be higher 
             then 200DPI.
2.7.3.27 Line Non-Uniformity : Should be under 10%
2.7.3.28 Neighbor Pixel Non-Uniformity : Should be under 2%. This specification 
will create strip line in the image(Black, 
White). Under 1:1 view, user can’t find any 
strip line under any scan modes.
2.7.3.29 Consistency : In 10 scans last for three hours, all the above specification should 
             not deviate more then 10%.
30.8 Power Requirement
  Power consumption: Under 10W in any condition.
  4 types will be required for different regions.
   Type 1: USA -> 120VAC +/- 10% @ 60Hz
   Type 2: European -> 220VAC +/- 10% @ 50Hz
   Type 3: British -> 240VAC +/- 10% @ 50Hz
   Type 4: Australia -> 240VAC +/- 10% @ 50Hz

Chapter 3: Mechanical Design Specification
3.1 Outside Dimension : (L x W x H) = (300mm x 85mm x 120mm).
3.2 Weight : Under 1.5Kg
3.3 Cosmatics Specification
3.3.4 Color Looking : The different Plastic Parts should not let user sees the different. Normal Specification from Ultima QC department
3.3.5 Dirts & Creaking : Normal Specification from Ultima QC department.
3.6 Cables
3.4.7 Lengths : 150mm +/- 3mm
3.4.8 Cable Strength 
3.4.2.9 Tensile : 6Kg for 30 Seconds
3.4.2.10 Pushing : 2cm from any end point of cable, should sustained pressure of 3Kg for 
          15 Seconds.
3.4.2.11 Bending: The cable shall be bent to +/- 60 degrees 1000 times at a force of 200g
3.12 Detach & Attach of CIS Module : Retains normal operation after 1000 times detached and 
attached.

Chapter 4: Reliability Specification
4.1 Temperature & Humidity
Temperature
  			Storage -> -10 to 70 Degree C
  			Operation -> 10 to 40 Degree C  
  Humidity	Storage -> 10 to 90% RH non-condensing
Operation -> 35 to 80% RH non-condensing
4.2 Scanning Life
4.2.3 On/Off of CIS Module :  Retain normal function after 15000 scans.
4.2.4 Roller Life : Retain normal function after 15000 scans for letter-size paper
4.2.5 Button Life : Retain normal function after 100000 times.
4.6 Vibration(Un-Packed & Packed)
Can’t find any mal-function in this system, all the parts should retain at right position.
 Frequency : 5-55-5 Hz/15 minutes
		Displacement : 0.38mm
		Direction : X/Y/Z 1 hour each direction
4.4 Shock 
Parts can’t find any creak in it, but departure of CIS module can accepted if when attached the normal function can be maintained.
  	Shock strength : 30g
		Shock pulse duration : 11 ms
4.5  Drop(Un-Packed)
Parts can’t find any creak in it, but departure of CIS module can accepted if when attached the normal function can be maintained.
	Height : 70 cm
		Drop sequence : one corner, three edges, six faces
Parts can’t find any creak in it, also departure of CIS module can’t accepted.
	Height : 30 cm
		Drop sequence : one corner, three edges, six faces
4.6  Drop(Packed)
Parts can’t find any creak in it, also departure of CIS module can’t accepted.
	Height : 70 cm
		Drop sequence : one corner, three edges, six faces

Chapter 5: Regulation Approved
Safety :
	UL 1950
     cUL 1950
	TUV/GS EN60950
     Tick Mark Austrilia
EMI :
	FCC Part 15 Subpart J class B
	Cisper class B
	CE Mark(ESD 8KV without error, 10KV without damage)
	VCCI