专利汇可以提供Display system for computers专利检索,专利查询,专利分析的服务。并且57 A CPU communicates over a bus (203) with a liquid crystal display (LCD) device (209) by way of a control unit (217), a d is- play memory (213) and another control unit (219). The memory (213) includes a screen image RAM (223) which is a pixel memory cyclically accessed by the latter control unit (219) to keep the display refreshed. The former control unit (217) keeps the contents of the screen image RAM (223) updated in accordance with ASCII codes in a RAM (221), each with an associated attribute code. The control unit (217) converts ASCH character codes into corresponding groups of pixel codes wroten into the screen image RAM (223) by reference to a font partern RAM (225:. ASCll graphic coaes are passed to the scream image RAM (223) without conversion but, in eitner envents the atribute codes selectively modify what goes to the screen image RAM (223), on a character by character ba- sis whether normal or reverse video is emproved. blinking characters are employed , a high speed, imperceptible blio a employed to provide an intermediate visual tone and to imprentent a form of colour emuration to which colour codes in the attribute codes seiect the backgrouna tone (and complementary freground tone) of the display.,下面是Display system for computers专利的具体信息内容。
This invention relates to a display system for computers, especially small, portable computers.
In recent years, there has been unprecedented growth in the use of personal computers. When compared to computers of only a decade ago, personal computers are a small fraction of the size and yet have maintained significant processing capabilities.
Many of the personal computers of today available from different manufacturers employ the same or similar central processing units (cpu's) fabricated as one or more integrated circuit chips using large scale integration (LSI) or very large scale integration (VLSI) processes. These cpu's have in some respects become the present standards for the industry. As a natural consequence, one or more sophisticated operating systems has been developed for each brand of cpu and is commercially available to users of the personal computers. When used together the standard cpu's and the operating systems therefor provide sufficient processing speed and flexibility for a large majority of the users of personal computers.
The standardization of cpu's and operating systems has permitted manufacturers of personal computers to focus their attention on other features of the computers in order to differentiate among the available computers and to establish favourable marketing shares. Manufacturers have developed specialized data entry and editing devices, peripheral devices, colour graphics capabilities, and sophisticated application software programs.
With few exceptions, however, personal computers all use cathode ray tube (CRT) displays either through special CRT displays or by connection to a standard television receiver. A CRT is capable of good resolution, colour display, and can display many characters on the screen.
The use of a CRT display, however, limits the extent to which a personal computer can be reduced in size and, since most CRT's are quite large, prevents the computer and display from being truly portable. Some manufacturers have substituted other types of displays including liquid crystal display (LCD) devices. An LCD is much more compact than a CRT and, therefore, contributes to the portability of the personal computers.
Nonetheless, there are several drawbacks related to use of LCD devices. One is that the number of characters displayable on an LCD screen is normally much smaller than the number which can be displayed on a CRT display. Also, the character cells in LCD devices are typically square whereas character cells for a CRT can be square or rectangular with the longer dimension in either width or height. An LCD does not have the capability to display colour as is possible with a CRT display.
These differences in the operating characteristics of a CRT display and an LCD device have significant ramifications. For example, even if a personal computer with a CRT display is configured identically to a personal computer with an LCD device, i.e. the same cpu, the same operating system, and the same peripherals, the latter will not be able to run application programs written for the former when, as in almost all cases, the program requires the use of a display. This is a serious problem because it either requires modificttion of application software programs or the independent development of programs for use by computers with LCD devices. The lack of compatability between computers with an LCD device and computers with the more popular CRT display places a manufacturer of the former in an unfavourable market position.
Thus, the prior art does not provide a small, easily portable computer with an LCD device which may be used without revising application software programs written for computers with CRT displays.
Thus the objects of the present invention are to make it possible to provide a small, easily portable computer with a compact display, in particular a liquid crystal display which is compatible with software programs prepared for computers with cathode ray tube displays.
Another object of the present invention is to provide a portable computer with a liquid crystal display that displays as many characters as the standard cathode ray tube display.
An additional object of the present invention is to control a liquid crystal display to display half tone images.
The invention in a number of different aspects is defined in the appended claims.
The invention will be described in more detail, by way of example and with reference to the accompanying drawings, in which:
Figure l(a) is a perspective illustration of a computer utilizing the present invention. The computer includes a base portion 11 and a display portion 13. The display portion 13 is hinged to the base portion 11 and is shown in the closed, i.e., folded, position. The compact nature of the computer and display testifies as to its easy portability.
The computer is shown in Figure l(b) with the display portion 13 in the operative position. An LCD device 15 is included within the display portion 13. The LCD device 15 displays as many characters as a conventional CRT, for example 25 lines of 80 characters each, but can easily be seen to be much smaller than the CRT display alone of most prior art computer. A keyboard 17 is provided beneath and in front of the LCD device 15. The display portion 13 when closed is a protective cover over the keyboard 17.
Figure l(c) is a side view of the computer with the display portion 13 in the operative position. A support member 19 supports the base portion 11 in such a manner that the keyboard 17 is positioned for optimum operation. Two floppy disc drives 21 are provided within the base portion 11 to provide interchangeable storage capability for the computer.
Figure 2(a) is block diagram illustrating the computer system embodying the present invention. The computer system includes a processor 201 which is connected to an internal bus 203 for the bidirectional transfer of data and control signals therebetween. A suitable processor is the Model 80C88 microprocessor commercially available from Intel. This microprocessor includes both a random access memory (RAM) and a read-only memory (ROM) which are used in the operation of the microprocessor, and may be used in conjunction with the MSDOS and the CP/M-86 operating systems.
Included with the peripherals for the computer system are the keyboard and the disk storage subsystem both of which are individually coupled to the internal bus. A suitable disk subsystem includes one or more compact floppy disk drives 21 as shown in Figure l(c).
A liquid crystal display (LCD) 209 is connected to display control circuitry 211. The display control circuitry 211 transfers data to be displayed and control signals to the LCD 209. The LCD 209, in turn, sends status signals to the display control 211 along with signals identifying the format of the display.
The display control 211 is connected to the internal bus 203 for bidirectional communication therebetween. A display memory 213 is also connected to the internal bus 203 and to the display control circuitry 211. As will be evident from the description which follows, data to be displayed on the LCD 209 can be stored in and retrieved from the display memory 213 by the display control circuitry 211. The processor 201 can also transfer data to the display memory 213 directly over the internal bus 203.
Figure 2(b) is a more detailed block diagram of the display control circuitry 211 and the display 213. As embodied herein, the display control circuitry 211 includes LCD control-1 219 which transfers data to be displayed from the display memory 213 to the LCD 209. Status signals generated by the LCD 209 are transferred from the LCD 209 to the LCD control-1 219.
LCD-control-2 217 is connected between the internal bus 203 and the display memory 213 and controls the storing of ASCII-coded display data in the display memory 213 as well as the conversion of the ASCII-coded display data to screen image data suitable for display on the LCD 209.
The display memory 213 comprises a RAM divided into three sections, an ASCII code RAM 221 for storing data to be displayed on the LCD, a screen image RAM 223 for storing all or part of the data also stored in the ASCII code RAM 221 but in a format suitable for display on the LCD 209, and a font pattern RAM 225 for storing conversion data used in converting ASCII-coded data into screen image data.
As will be described later, LCD-control-2 217 includes many internal registers which are accessible by the processor 201 and are used to define and control the LCD 209. One of these registers is an index register (not shown) which is used as a pointer to the memory locations storing the locations of the other registers. The index register is a register which is loaded by the processor 201 by executing an OUT instruction. In order to load any of the other control registers, the index register is first loaded with the appropriate register address, a data register (not shown) is loaded with information to be stored in the selected control register, and an OUT instruction is executed by the processor 201.
The following table identifies the control registers and the values which are stored therein to implement and control different operation modes of the LCD 209.
The function and interpretation of signal values stored within the control registers is explained next.
R19 : Scan interval select
R20: Blink interval select
R 21: Underline position and over-scan write protection
R22: Font select
R23: Background color table
R24: Start address of image buffer high (write)
R25: Start address of image buffer low (write)
R26: Display memory 213 address mask (write)
R27: Test mode (write)
R28: Test status - 1 (read)
R29: Test status - 2 (read)
R30: Data loop back high (read)
R31: Data loop back low (read)
This is a 6 bit register with the I/O address 3D8H. This register controls status of the display control circuitry 211 as follows:
The following is a listing of the modes selected by this register:
Figure 3(a) is a schematic illustration of the LCD 209 which is comprised of an array of pixels 301. In the preferred embodiment, the LCD 209 has a resolution of 640 pixels in the horizontal direction and 256 pixels in the vertical direction. The LCD 209 has a capacity to display 25 rows of characters with 80 characters in each row. This is a common configuration for a CRT display.
The pixels 301 are grouped into respective character cells 303 which, in the preferred embodiment, include an array of pixels 301 8 wide by 10 high. The normal character cell for an LCD device is a square array of pixels such as an 8 by 8 array shown in cell 305. The use of a character cell greater in height than in width contributes to the readability of an LCD device and is the reason that a rectangularly shaped cell was selected for the preferred embodiment. As will be explained below, however, the size of a character cell is programmable for flexibility in application. The intercharacter and interline spacing in the preferred embodiment is one pixel each.
In the preferred embodiment, the display memory 213 has a capacity of 48K bytes divided in segments of 16K bytes for the ASCII code RAM 221, 24K Bytes for the screen image RAM 223, and 8K Bytes for the font pattern RAM 225. The display control 211 has four major control modes including: character mode in black and white (B & W), character mode in color simulation, graphic mode in color simulation, and direct bit map mode.
In any of the control modes, read or write operations of the display data by the processor 201 are done through the LCD-control- 2 217. If the character display mode has been selected, the LCD-control-2 217 scans the ASCII code RAM 221 at every idle cycle and converts ASCII-coded character data, in accordance with associated attribute bits, into screen image data by using the font data stored in the font pattern RAM 225. The convected display data is stored in the screen image RAM 323. If the graphic mode has been selected, the LCD-control-2 217 converts ASCII-coded graphic data stored in the ASCII code RAM 221 into appropriate pixel image data and writes the pixel image data into the screen image RAM 223.
The LCD-control-1 219 scans the pixel image data stored in the screen image RAM 223 and transfers the image data to the LCD 209 for display in accordance with LCD scan timing. The font pattern RAM 225 is accessible by the processor 201 during idle time.
The processor 201 sends ASCII-coded display data to the LCD-control-2 217 in the form of two bytes, a code (or data) byte and an attribute byte. In a direct bit map mode, the processor 201 sends display data directly to the screen image RAM 223.
When any control mode except the direct bit map mode is selected, and if the mode register indicates the B & W mode, the LCD-control-2 217 converts the ASCII-coded data into pixel data by accessing the font pattern RAM 225 and performing logical operations in accordance with the value of the attribute byte. If the mode register indicates color simulation, the operations performed are almost identical to the B & W mode but processing of the attribute byte is different due to access of the color table register for converting the data associated with the color attribute to a selected pattern of B & W pixels. If graphic mode in color simulation is selected, the data stored in the ASCII- code RAM 221 is transferred to appropriate locations in the screen image RAM 223 without accesses of the font pattern RAM 225.
If reverse video characters are to be stored in the screen image RAM 223, the LCD Control-2 217 changes the background color into black and the color of the character stroke into white. In the event characters with attributes designating blink are to be stored in the screen image RAM 223, the LCD-control-2 217 will cause selected portions of the display 209 to display character data alternately with an all white character cell, or an all black character cell in the event the character is to be displayed with reverse video.
The LCD-control-2 217 also implements the display of highlighted characters and half-tone images. In the case of highlighted characters, the LCD-control-2 217 accesses a second set of font data stored in the font pattern RAM 215, e.g., a bold font, during the conversion of ASCII-coded data to screen image data. Half-toning is accomplished by alternating the display of a selected character with all white pixels to provide a visual half-tone image.
In the character display mode, character data includes 2 bytes consisting of a character code byte and an attribute byte. The following shows the definition of the 2 bytes during operation in the B & W control mode.
Background and foreground attribute portions are coded as follows:
The following shows the definition of 2 bytes of character data in the color simulation mode. Because the LCD 209 cannot represent multi-colors naturally, the color attribute will project to specific black and white combinations with programmable threshold.
If accessed bit in the color table register is 0 this character cell will be displayed as a black character on a white background, and if it is 1 then the cell will be displayed as a white character on a black background. The correspondence between color attribute and the cell display combination can be programmed by loading appropriate values into the color table register. The foreground bits have no meaning.
Font data stored in the font pattern RAM 225 is always treated as a cell, and a display cell size is programmable with the exception that the cell width is"fixed as 8 pixels, but may be elongated to 16 pixels (low resolution mode) with 8 pixel resolution by hardware. Character cell height is programmable from 1 to F pixels.
A character cell is defined as total space including character body, inter-character space and inter-line space. In the font pattern RAM 225, an 8 pixel row in a cell is treated as a byte of display data and the MSB in a byte of display data represents the left most pixel on the screen and the LSB the right most pixel.
The 8K bytes of the font pattern RAM 225 can be managed as four 2048 bytes segments corresponding to 256 character patterns with widths of 8 pixels and heights of 8 pixels to realize multiple font selection. The usage of a character cell with height greater than 8 pixels will enable up to two different fonts to be stored in two 4096 byte segments.
The actual byte address in hexadecimal for a particular row in the display cells is generated as follows:
In the graphic display mode, graphic data to be displayed is treated as a byte corresponding to 8 pixels, and is directly transferred to storage locations within the 16K bytes of the screen image RAM 225. The screen image RAM 225 is separated into two segments of 8K bytes each corresponding to an odd row image memory and an even row image memory. The even row image memory stores 80 bytes by 100 rows (row0, row2, .... rowl98) of image data, and the odd row image memory stores 80 bytes by 100 rows (rowl, row2, ... rowl99) of image data.
The actual byte address in hexadecimal for a particular group of 8 horizontal pixels on the screen is generated as follows:
Figure 3(b) through 3(d) schematically illustrate a further feature of the present invention wherein the LCD 209 can comprise 1, 2, or 4 segments or planes. If the LCD 209 comprises a single plane, data is transferred to and displayed thereon character by character and line by line. If the LCD 209 is divided into multiple planes, however, a number of characters equal to the number of planes can be transferred in parallel from the screen image RAM 223 to the LCD 209.
As shown in Figure 3(b) a single plane LCD includes L lines (e.g., 25) with each line including N words (e.g., 80). Each word corresponds to a character to be displayed. Assuming that the first character to be displayed is stored in memory address A in the screen image RAM 323, then A+N-1 is the address of the last character of the first line, A+(L-1)N is the address of the first character of the last line and the last character in the last line is stored at address A+LN-1. Thus, the value L is the line number and the value N is the line offset meaning the character position within a line.
Figure 3(c) illustrates an embodiment wherein the LCD 209 is divided into plane-A and plane-B. Lines 1 - L are included in plane-A and lines L+l - 2L are included in plane-B. Data word 1 in line 1 is stored at plane-offset address A, e.g., 0, and data word 1 in line L+l is stored at plane-offset address B, e.g., B=A+LN.
Figure 3(d) illustrates an embodiment wherein the LCD 209 comprises four planes, i.e., plane-A, plane-B, plane-C, and plane-D. In this embodiment, the line offset maximum, N, takes a value of one-half of that with respect to the embodiments of Figures 3(b) and 3(c). The addresses of the first data word in the first line of plane-A, plane-B, plane-C, and plane-D are A, B=(L+1)2N, C=N, and D=(L+1)2N+N, respectively.
Figure 3(e) schematically illustrates the correspondence between addresses in the screen image RAM 223 and the LCD 209 in an embodiment wherein the LCD 209 includes two planes, i.e., plane-A and plane-B. Assuming that the plane-offset address A is equal to address 0 within the screen image RAM 223, words are transferred from the screen image RAM 223 to plane-A of the LCD 209 beginning at address 0 and concluding at address L(N-1). Within plane-B, the data words stored at addresses LN - 2LN-1 are displayed.
If the LCD 209 is comprised of four planes, the plane-offset addresses for planes A, B, C, and D would be 0, N, (L+1)N, and (L+1)N+N, respectively.
Figure 4 illustrates a block diagram of LCD-control-1 219 wherein display data is transferred from the screen image RAM 323 to the LCD 209. This block diagram illustrates the circuitry for generating the display location in the LCD 209 for the data to be displayed and for transferring display data from the screen image RAM 223 to the LCD 209.
During initiation of the computer system, e.g., at power-up of the processor 201, certain control values are transferred to the registers 403-411. The control values relate to the number of planes within the LCD 209 and to the number of words included in each plane. For example, Figure 4 illustrates an embodiment of the LCD-control-1 219 wherein the LCD 209 includes planes A through D. Thus, reg A 403 stores the above-discussed plane offset A, which may take on a zero value when the first storage word in the screen image RAM 323 stores the character to be displayed at location 0 of row zero of the LCD 209.
Similarly, reg B 405, reg C 407, and reg D 409 store the values of plane-offset B, plane-offset C, and plane-offset D, respectively. These values correspond to the location on the LCD 209 for the display of the first character in plane B, plane C, and plane D.
Reg E 411 is loaded with a value equal to the number of characters in each row of a plane. Assuming that the LCD 209 displays 80 characters in a row, the value stored in reg E 411 for the embodiments of the LCD 209 shown in Figs. 3(b) and 3(c) will be 80 and the value stored in reg E 411 for the embodiment of Fig. 3(d) will be 40.
The outputs of the registers 403-409 are supplied as inputs to a multiplexer 413. The signals PLNSELO and PLNSEL1 control the multiplexer 413 to selectively output the values stored in the registers 403-409 to one input of an adder 415. The value outputted by the multiplexer 413 comprises a 16 bit base offset address for one of the planes A through D.
The output of the adder 415 comprises a 16 bit address of a character position on the LCD 209 for one of the planes A through D. The first value outputted by the adder 415 for each of the planes A through D corresponds to the first display location on the LCD 209 within each of the planes A through D and will equal the offset values stored in the registers 403 - 409. For each of the other characters in a row, it is necessary to increment the base offset values. The increment is generated by the adder 417, register 419, and the counter 421.
The value stored in the reg E 411 is supplied to one input of the adder 417. The other input to the adder 417 receives the output of the register 419, LINSAO-15. The output of the register 419 is also loaded into the counter 421 under the control of the line load signal, LINELD. The register 419 stores the output of the adder 417 and is loaded with that value under the control of the line end signal LINEEND. In the embodiment described herein, the values stored in the various registers and adders are expressed in twos-complement. At initiation, the values stored in the register 419 and the counter 421 are set to zero. The value stored in the counter 421 is incremented by one under the control of the data ready signal, DATARDY. The generation of DATARDY will be described hereinafter.
A line word register 423 is loaded at initiation with a value equal to one-half of the number of characters displayed in a row of each plane. Thus, in the embodiments of Figs 3(b) and 3(c) the stored value is 40 based upon the assumption of the LCD 209 displaying 80 characters in a row. In the embodiment of Fig 3(d), each row includes two planes and, therefore, the value stored in the line word register 423 is 20. The stored value takes into account the fact that two 8-bit words or characters are transferred at one time from the screen image RAM 223 as the signals VRAMDO-15.
The two's complement of the value stored in the line word register 423 is loaded into a timing counter 425 upon the occurrence of LINELD which is generated when the counter 425 overflows. The timing counter 425 is incremented under the control of the output of an OR gate 429 which receives as inputs DATARDY and the local clock signal, LOCLK. The value stored in the timing counter corresponds to the number of two-word data transfers from the screen image RAM 223 to the LCD 209.
A line number register 429 is loaded at initiation with the number of lines to be displayed within a,plane. In the embodiment of Fig. 3(b), this number is equal to the maximum number of lines that can be displayed on the LCD 209. In the embodiments of Figs. 3(c) and 3(d), the value stored in the register 429 is one-half the maximum number of lines that can be displayed on the LCD 209 because the LCD 209 is vertically divided into two planes. The value stored in the register 429 is expressed in two's complement and is incremented when all data words within a display line of the LCD 209 have been transferred. Upon overflow, the timing counter 431 is reloaded with the value stored in the line number register.
As will be apparent to one skilled in the art, the display parameters, i.e., the number of lines and characters per line, of the LCD 209 are programmable. This provides flexibility to the computer and ultimately to the user.
The registers 441, 443, 445, and 447 are used in the actual transfer of display data from the screen image RAM 323 to the LCD 209. Each of these registers is associated with a different one of the planes of the LCD 209. Thus, data to be displayed in plane-A is received by register A 441, plane-B by register B 443, plane C by register C 445, and plane D by register D 447.
In the embodiment of Fig. 3(c), only two planes are provided in the LCD 209 and, therefore, only'--register A 441 and register B 443 would be necessary. Similarly, in the single-plane embodiment of Fig. 3(b), only register A 441 would be utilized.
Since the four data transfer paths shown in Figure 4 are identical and operate in parallel only one data path will be described in detail.
Two words of data, VRAMDO-15, from the screen image RAM 223 are loaded into the register 441 and are shifted to a parallel-to-serial converter 448 under the control of the signal PLANASTB. The shifting of the data from the register A 441 to the parallel-to-serial converter 448 generates the signal DATARDYA which is supplied to an input of an AND gate 430.
The parallel-to-serial converter 448 comprises a shift register 449A and a multiplexer 451A. The 16 bits of data, ADO-15, received as inputs by the shift register 449A, are outputted in groups of four bits each, i.e., NAOO-3, NA04-7, NA08-11, and NA012-15, under the control of the selection signals NBLSELO and NBLSELl. The output of the multiplexer 451A is supplied to plane-A of the LCD 209 as the data PLANADO-3 and to a buffer 453.
As evident from Figure 4, the registers 443, 445, and 447 generate respective data ready signals DATARDYB, DATARDYC, and DATARDYD. These signals are also supplied as inputs to the AND gate 430 with the result that the signal DATARDY will be generated with a high value capable of incrementing the timing counter 425 after the display data has been shifted from each of the registers 441-447. In the case of single or dual plane embodiments of the LCD 209 the appropriate values for the inputs signals to.
In operation, the initial values corresponding to the embodiment of the LCD 209 are loaded into the registers 403, 405, 407, 409, 411, 423, and 429, as described above. The values reflect not only the number of planes included in the LCD 209 but also the number of characters in a row and the number of lines in the LCD 209. The adder 415 outputs the display addresses within each plane of the LCD 209 and the multiplexers 451A-451D begin to transfer screen image data to the LCD 209.
Assuming the four plane embodiment of the LCD 209 as shown in Figure 3(d), the data words are transferred to the LCD 209 by the four multiplexers 451A, 451B, 451C, and 451D. Each time two data words, that is 16 data bits, are transferred from the registers 441, 443, 445, and 447 to the shift registers 449A, 449B, 449C, and 449D, respectively, the signal DATARDY is generated with a high value to increment the timing counters 425 and 421. After 20 two word data transfers have been made to the respective shift registers, the timing counters 421 and 425 will overflow. This results in the generation of the signal LINELD which resets the counter 425 to the value stored in the line word register 423, increments the timing counter 431, sets the counter 421 to the value stored in the register 419, and loads the register 419 with the current output of the adder 417.
As a result, the counter 421 outputs the incremental address which, when added to the plane base address stored in the registers 403-409, generates the screen addresses of the LCD 209 in the second row of each display plane. Subsequent operations transfer the data words to be displayed in the second line of each plane at the screen locations outputted by the adder 415. After the data comprising the second line in each plane of the LCD 209 have been displayed, the third and subsequent lines are displayed. When the last line in each plane has been displayed the timing counter 431 overflows and is reset to the value stored in the line number register 429. This causes the register 419 to be reset to zero. The data in the screen image RAM 223 is again transferred to the LCD 209 to refresh the display and to change the displayed data to reflect changes in the data stored in the screen image RAM 223.
The address provided by the adder 415 on the liquid crystal device address bus LCDAO-15 is also output to the multiplexed video RAM bus VRAMMO-15 via a multiplexer 463 and a buffer 465. Data from the video RAM is returned to a buffer 467 driving a data bus VRAMDO-15 which provides the data for the registers 441, 443, 445 and 447 described above. The CPU supplies the data to the registers 403, 405, 407, 409, 411 via the system bus 203 and a buffer 401 which can also output data and address to the video RAM bus via a register 461 and the multiplexer 463.
Figure 5 is a high level block diagram of the LCD-control-2 217. The LCD-control-2 217 includes the status and control registers previously described, address and data paths to and from the CPU 201, the ASCII code RAM 221, the screen image RAM 223, the font pattern RAM 225, and circuitry for modifying data in accordance with associated attributes.
The status and control section 501 includes the registers Rl, R6, R9-Rl5, and R18-R27. The functions of these registers have been described above, and the embodiment thereof will be discussed hereinafter.
An 8 bit data bus from the CPU 201 provides the signals DBO-7. The data bus to the three RAMs 221, 223, and 225 within the address memory 213 is indicated by the signals MBO-15. A memory/bus shared by the CPU 201, the memory 213, and the LCD-control-2 217 is indicated by the signals AO-15.
Upon initialization, select register logic 503 is controlled by five bits of the address signal AO-7 to enable initial values for the status and control values to be loaded into the appropriate control and status registers from the CPU data bus DBO-7. After initialization, when it becomes necessary to change the values in any of the status and control registers, the select register logic 503 is enabled to reload the appropriate register or registers.
Data supplied from the CPU 201 can be directly transferred to the memory 213 through two write data latches 504 and 505. The data latches enable two 8 bit data transfers from the CPU, i.e., CPUDO-7, to be transferred in parallel on the 16 bit memory bus as memory data MEMBO-15.
Similarly, a 16 bit data transfer from the memory 213, i.e., MEMIO-15, can be outputted to the CPU 201 as two 8 bit data words, CPUDIO-7, through a pair of read data latches 507, 509. The memory data, MEMIO-15, can also be supplied to an ASCII code latch 511 which receives the high order 8 bits, MEMIB-15, and an ASCII attribute latch 513 which receives the low order 8 bits, MEMIO-7. The ASCII latches 511, 513 are employed to receive data from the ASCII code RAM 221.
The contents of the ASCII code latch 511 are transferred to the memory bus as the low order 8 bits, AO-7, of an address in the font pattern RAM 225. The high order 8 bits, A8-15 are supplied by font select logic 515 which receives inputs from the font select register, R22. The 16 bit address is used to access specific memory locations within the font pattern RAM 225 which store screen image data corresponding to ASCII-coded data. The actual bit representation of the ASCII-coded data is used as part of the address within the font pattern RAM 225.
The two words of data returned from the font pattern RAM 225 are received by the font data latches 517, 519. The low order 8 bits are received by the latch 519 which supplies them to the attribute processing circuitry 521 and to the memory bus as the low order 8-bit word AO-7. The font data latch 517 supplies the high order 8 bits to the attribute processing circuitry 521 and to the memory bus as the high order 8-bit word A8-15. The data bits transferred directly from the font data latches 517, 519 are transferred by the memory bus to the screen image RAM 223.
The attribute processing circuitry 521 receives the data from the font data latches 517, 519 eight bits at a time and modifies the received data under the control of the attribute control circuitry 523. The modified data is supplied to the memory bus through the output regular mode font data latches 525, 527 or through the bold mode font data latches 529, 531. In the bold (low resolution) mode, each displayed character is two character cells wide.
The addresses within the screen image RAM 223 for storing screen image data are generated by a counter 541 which receives the image start address, ISAO-15 from the image start address registers R24, R25. An offset value can be added to the output of the counter 541 by an adder circuit 543. The offset is generated by an adder 545 and is stored in a latch 547 coupled thereto. The output of the adder 543 comprises a 16 bit image t planladdress, IMPAO-15, which is supplied to the memory bus. A pair of data latches 549, 551 is provided to transfer the image plane address from the memory bus to the CPU 201 as loop back data LBDO-15. A next line address latch 553, 555, is provided to receive an address from the memory bus and to supply the received address to the counter 541 through an adder 557 or to the CPU 201 as loop back data.
Figures 6- 24 comprise detailed logic diagrams of a preferred embodiment of the LCD-control-2 217 as shown in Figure 5 and generally described above. As shown in Figure 6, the memory bus includes a pair of 8 bit latches 601, 603 which receive the memory bus signals AO-15 from the CPU 201 and the memory 213. The signals AO-7 are transferred to a latch 605 and are subsequently designated MEMBO-7. The bits A8-11 are transferred to a latch 607 to become the bits MEMB8-11. The four high order bits, MEMB12-15 outputted by the latch 607 are supplied by the display memory address mask register R26.
The eight bit data bus, DO-7, coupled with the CPU 201, is received by an input latch 609 which outputs the CPU data, CPUDOO-07. Data is transferred to the CPU 201 via an output latch 611. Clock signals employed within the LCD-control-2 are generated by an oscillator 613 and outputted by a latch 615.
The select register logic 503 (Figure 5) is embodied by decoders 621, 623 and NAND gates 625-645. The inputs to the decoders 617-623 include the signals REGSELO - REGSEL4 which comprise the CPU data bits CPUD10 - CPUD14 outputted by a latch 647. The latches 621, 623 output enable signals UR18WR-UR27WR for controlling writing of corresponding status and control registers. The decoder 623 also outputs the signals UR28RD-UR31RD which are read enable signals.
The NAND gates 625-629 and 639-645 output LCD control register write enable signals UR9WR-UR25WR, respectively. The NAND gates 631-637 output LCD control register read control signals UR12RD-UR15RD, respectively.
Figure 7 illustrates circuitry 701 for generating CPU access request signals. While this circuitry plays a role in the operation of the LCD-control-2 217, a detailed description thereof will not be set forth because such description of the circuitry 701 is not necessary for an understanding of the present invention.
Figure 7 also illustrates embodiments of the write data latches 504, 505 which receive as inputs CPU data, CPUDOO-07, and respectively output to the memory bus MEMB8-15 and MEMBO-7. Similarly, the read data latches 507, 509 are shown as receiving as inputs MEMB8-15 and MEMBO-7, respectively, and generating as outputs CPUDIO-7 which are transmitted to the CPU 201.
Figures 8-10 illustrate embodiments of the status and control registers discussed above. The mode control register is embodied as an edge-triggered flip-flop 801 which selectively outputs the blink enable signal (BLKENB), the video enable signal (VIDENB), the graphic mode signal (GRAPHIC), and the high resolution signal (HIRES) in accordance with the CPU data, CPUDOO-07. The horizontal displayed register Rl and the vertical displayed register R6 are similarly embodied as edge-triggered flip-flops 803, 805, respectively, which receive as inputs CPUDOO-07.
The register R12 storing the start address of the character/image buffer (high) is embodied as an edge-triggered flip-flop 807 receiving the input signals CPUDOO-07 and a transceiver 809 receiving the input signals CPUDIO-7. Data to be written into the register R12 is supplied by the flip-flop 807 whereas a read out of the register R12 is transferred through the transceiver 809.
The register R13, which stores the start address of the character/image buffer (low), is embodied as an edge-triggered flip-flop 811 and a transceiver 813. The data to be written into the register R13 is supplied through the edge-triggered flip-flop 811 and data to be read from the register R13 is transferred through the transceiver 813.
The cursor address (high) register, which is the register R14, is supplied by an edge-triggered flip-flop 815. A transceiver 817 is employed to transfer the values stored in the register R14 to the CPU 201. Similarly, the register R15 storing the cursor address (low) is embodied as an edge-triggered flip-flop 819 and a transceiver 821.
The register R9 storing the maximum scan line address is embodied as an edge-triggered flip-flop 901. The register R10 controlling the cursor start scan line is embodied as an edge-triggered flip-flop 903. An AND gate 905 coupled to the flip flop 903 through an inverter 906 generates the cursor inhibit signal CSRINH. The register Rll controlling the cursor end scan line is embodied as an edge-triggered flip-flop 907. The flip flops 901, 903, 907 all receive the CPU data, CPUDOO-07, as inputs.
The operation mode register R18, the scan interval select register R19, and the blink interval select register R20 are embodied as edge-triggered flip-flops 909, 911, and 913, respectively.
The underline position and over-scan protection register R21, the font select register R22, and the background color register R23 are embodied by the edge-triggered flip-flops 915, 917, and 919, respectively.
Figure 10 illustrates the image buffer start address (high) register R24, the image buffer start address (low) register R25, the display memory mask register R26, and the test mode register R27 as being embodied by edge-triggered flip-flops 1001, 1003, 1005, and 1007. A multiplexer 1009 receives the outputs of the flip-flop 1005 and is coupled to the AND gates 1011, 1013, and 1015 to generate the three high order address mask bits. The test-status-1 register R28, test-status-2 register R29, data loop back (high) register R30, and the data loop back (low) register R31 ate embodied as transceivers 1017, 1019, 1021, and 1023, respectively, to selectively output the data CPUDIO-7.
figures 11 and 12 illustrate circuitry for generating timing and control signals used within the LCD-control-2 217, including timing signals for accessing the memory 213. Also shown in Figure 11 is a priority encoder 1101 including a D flip-flop 1103 which outputs the signals LCDSEL, CPUSEL, and SCNSEL to control access to the LCD 209, CPU 201, and memory 213, respectively. The function of the timing circuitry will not be described in detail because such description is not necessary for an understanding of the present invention.
Figure 13 illustrates circuitry for generating additional timing and control signals. A scan control sequencer 1301 generates timing and control signals for reading the ASCII code RAM 221, accessing the font pattern RAM 225, and writing screen image data into the screen image RAM 223.
Figure 14 illustrates an embodiment of the counters and comparators (shown in Figure 5) connected to the horizontal displayed register Rl, the vertical displayed register R6, and the maximum scan line address register R9. As embodied herein, a horizontal character counter 1401 includes a comparator 1403 having one set of inputs HDISPO-7 corresponding to the contents of the register R1 and a second set of inputs generated by counters 1405, 1407. The counters 1405, 1407 are incremented each time an ASCII code character is converted to a screen image character by the LCD-control-2 217. The count stored in the counters 1405, 1407 is equal to the present value stored in register Rl. An end of line signal, LINEND, is generated by a D flip-flop 1409.
A vertical line counter 1411 includes a comparator 1413 having one set of inputs, VDISPO-7, supplied by the vertical displayed register R6 and a second set of inputs supplied by the counters 1415, 1417. The counters 1415, 1417 are incremented by the LINEND signal and store an indication of the line number being stored within the screen image RAM 223. When the line number stored in the counters 1415, 1417 is equal to the preset value in the vertical displayed register R6, a D flip-flop 1419 generates a frame end signal, UFRAMEND.
A character row address counter 1421 comprises a comparator 1423 having one set of inputs receiving the contents of the maximum scan line address register R9'and a second set of inputs receiving the value stored in a counter 1425. The output of the counter 1423 is the maximum row control signal, MAXROW.
Figure 15 illustrates an embodiment of the font data latch 517, 519, the ASCII code latch 511, and the attribute latch 513. The values of the attributes associated with an ASCII code word are outputted by the attribute latch and include the control signals for the blink bit (BLBIT), background red (BGRED), background green (BGGRN), background blue (BGBLU), intensity bit (IBIT), foreground red (FGRED), foreground green (FGGREN), and foreground blue (FGBLU).
The signals BGRED, BGGRN, and BGBLU are employed as the selector signals of a color emulator multiplexer 1501. The inputs to the multiplexer 1501 comprise the outputs of the edge triggered flip-flop 919 which is an embodiment of the background color table register R23. Since the LCD 209 is not capable of displaying the colors red, green, and blue, the color emulator multiplexer 1501 is provided to select either a light or dark background on the display 209 depending upon the values of BGRED, BGGRN, and BGBLU.
Figure 15 further illustrates an embodiment of a cursor timing circuit 1503 which includes comparators 1505 and 1507 which compare the output, ROWO-3, of the counter 1425 to the counters of the cursor start scan line register R10 and the cursor end scan line register Rll, respectively. The inputs of an AND gate 1509 are connected to the outputs of the comparators 1505, 1507. The output, CSRPOS, of the AND gate 1509 controls display of the cursor on the LCD 209.
A black and white mode attribute decoder 1511 generates the control signals no-display white, UNDWHT, which causes all pixels in a character cell to be displayed as white and no-display black, NDBLK, which causes all pixels of a character cell to be displayed' as black. The decoder 1511 further generates the reverse video control signal, RVVID, which causes all pixels in an associated character cell to display reverse values.
An underline timing generator 1513 includes a counter 1515 which at one set of inputs receives the outputs of the counter 1425 and at another set of inputs receives the value stored in the underline position register R21. An AND gate 1517 coupled to the outputs of the counter 1513 and the decoder 1511 generates the underline control signal, LNUNDER.
Figure 16 is an embodiment of the attribute circuit 521 of Figure 5. A pair of transceivers processing 1601, 1603 receive the two data words (16 bits) in parallel from the font data latches 517, 519 and converts them into two serial data words of eight bits each. The eight bits of each data word are then processed in parallel in accordance with the values of the attribute bits to generate an eight bit font data, word, FWRDO-7. Because each bit is identically processed, only the processing of bit 0 will be discussed in detail.
Bit zero is supplied as one input of a two input OR gate 1605. The other input to the OR gate 1605 is the output of an OR gate 1607 having as inputs the signals LNUNDER and NDBLK. If either LNUNDER or NDBLK is set equal to 1 (TRUE) then the output of the OR gate 1605 will be 1 indicating that the pixel in the display 209 corresponding to bit 0 should be displayed as black.
The output of the OR gate 1605\is supplied to one input of an AND gate 1609. The AND gate 1609 implements several functions which are based upon the controlled blinking of pixels of the LCD 209 at selected positions. One function is half-toning which entails blinking of pixels at a very high rate so that the visual appearance is of a continuous tone between white and black. This function is embodied by a NAND gate 1611 which receives the dim enable signal, DIMEN, and a dim blink clock signal, DIMBLK, of high frequency. The AND gate 1611 functions as a switch to turn on and off the pixel corresponding to bit zero at a high rate. This switching is done through the second input of the AND gate 1609.
A pixel can also be blinked at rate discernible visually. This is accomplished by an AND gate 1613 and a NAND gate 1615. Blinking of the pixel is controlled by the blink bit, BLBIT, which is one input to the NAND gate 1615. The other input of the NAND gate 1615 is the output of the AND gate 1613. The AND gate 1613 outputs the blink frequency signal in accordance with the blink clock signal CHARBLK.
The output of the AND gate 1609 is supplied to one input of an OR gate 1617. The other input to the OR gate 1617 is the output of a cursor blink AND gate 1619. If the cursor position includes the pixel associated with bit 0, the pixel will be blinked at a rate determined by the cursor blink clock signal, CSRBLK. The frequency of the cursor blink clock signal, CSRBLK, is preferably different from, e.g., twice the rate of, the frequency of the character blink clock signal, CHARBLK, to enable visual discrimination between the two.
The output of the OR gate 1617 is supplied to one input of a NOR gate 1621. The other input to the NOR gate 1621 is the output of an OR gate which receives the color emulator signals BGDARK and RVVID. The OR gate 1613 enables the value of bit 0 to be changed to emulate color display through the selection of the background color, i.e., black or white.
Figure 11 illustrates the circuitry for implementing the high resolution mode of the LCD 209 and also the embodiments of the latches 525-531. In low resolution mode each character includes twice as many character cells as in low resolution mode. This is accomplished by generating data words wherein each data word includes values for controlling four pairs of pixels with the pixels in a pair being identical.
The output of the attribute processing circuitry 521, i.e., the font data signals FWRDO-7 are supplied to the data latches 527, 525 (Figure 17) and outputted as the signals MEMBB-15 and MEMBO-7, respectively, in high resolution mode. In normal (low) resolution mode, bits FWRD4-7 of the font data word are supplied to the latch 529 and bits FWRDO-3 of the font data word are supplied to the latch 531. The data bit FWRD7 is supplied to inputs 6-and 7 of the latch 529 so that bits MEMB14 and MEMB15 will have equal values. Similarly, inputs 4 and 5 of the latch 529 are set to the value of FWRD6 so that bits MEMB12 and MGMB13 will have equal values. Each of the bits FWRD 0-5 is similarly duplicated in the output bits MEMBO-11 of the latches 529, 531. Selection of the high resolution or the low resolution mode is accomplished by the attribute bit HIRES. Graphic mode font data inputs, FDO-15, are transmitted to the memory bus MEMB 0-15 through the latches 1701, 1703.
Figure 18 illustrates the circuitry for generating addresses in the ASCII code RAM 221 to enable access of ASCII code words stored therein so that conversion to display image data may be accomplished by reference to the font data. The ASCII code RAM start address is supplied by the registers R12, R13 as inputs to code buffer address counters 1801, 1803, 1805, and 1807. The value stored in the counters 1801, 1803, 1805, and 1807 is incremented to output in sequence the addresses of ASCII code words stored in the ASCII code RAM 221.
The comparators 1809, 1811 compare the output of the ASCII code buffer address to the present cursor address and sets the signals CURSOR and UCURSOR accordingly. As previously described, the CURSOR signal is used to control blinking of selected pixels to identify the location of the cursor.
Figure 19 illustrates circuitry embodying the image data address generator for generating addresses within the display image RAM 223 for storing image data produced by converting ASCII coded data through accesses to the font data stored in the font data RAM 225. The next line address latch 553, 555 receives the memory address MEMBO-15 from the memory bus and transfers the address to the latches 549, 551 as loop back data LBDO-15 for test purposes. The outputs of the latches are also supplied to incrementers 1901-1907 where the value of MEMBO-15 is incremented by +1. The incremented address is supplied to transceivers 1909, 1911.
A second pair of transceivers 1913, 1915 receives the image start address from the registers R24, R25. The contents of the transceivers 1909, 1911 or of the transceivers 1913, 1915 are selectively supplied to an image plane base address counter comprising the counters 1917 - 1923. The counters 1917 - 1923 are incremented by +1 every time all of the pixels within a character cell have been converted from ASCII code data to screen image data. Thus, the counters 1917 - 1923 store an address corresponding to the top row of pixels in a character cell. The counters 1917 - 1923 are set to the value stored in the transceiver 1913, 1915 whenever the last character in the last row of the ASCII code RAM 221 has been processed.
Figure 20 illustrates the circuitry for generating addresses within the screen image RAM 223 which correspond to the beginning of a line of characters to be displayed on the LCD 209. Transceivers 2001, 2003 store values which correspond to the number of characters in a display line of the LCD 209 in high and low resolution modes. This value is preset by the register Rl.
If high resolution mode is indicated by HIRES, then the value HDISPO-7, which is stored in the transceiver 2001, is transferred to the row offset latch 2005. If low resolution mode is indicated by the signal UHIRES, then HDISPI-HDISP7, i.e., a value equal to one half of the value of HDISPO-7, which is stored in the transceiver 2003, is supplied to the row offset latch 2005.
The row offset latch comprises adders 2007 - 2011 and latches 2013 - 2017 which generate the image offset signals IMOFFO-11 corresponding to N times the value initially received as inputs by the adders 2007, 2009. The value N is equal to the line number currently being stored in the screen image RAM 223. Thus, IMOFFO-11 is a value which always corresponds to the beginning of a line to be displayed on the LCD 209.
The effective address, i.e., the physical address IMPAO-15, within the screen image RAM 223 for storing the screen image data currently being processed is generated by adders 2019 - 2025. The adders 2019 -2025 add the line address represented by the signals IMOFFO-11 to the character address IMAO-15.
Figure 21 illustrates circuitry 2101 embodying a scan address control signal generator which generates a signal, UCBRENB, which controls whether an address in the ASCII code RAM 221 or in the screen image RAM 223 is being processed. A font selector circuit 2103 is provided to generate bits MEMB10 and MEMB11 of a memory address MEMBO-15 outputted by a pair of transceivers 2105, 2107. In this manner, one of two sets of font data stored in the font data RAM 225 can be selectively addressed.
Figure 22 illustrates a scan interval selector circuit 2201 which includes a comparator 2203 having a first set of inputs receiving the signals SCNIVO-7 stored in the scan interval register R19 and a second set of inputs receiving the outputs of a pair of counters 2205, 2207. The signal UCHIST is generated from the output of the comparator 203 to initiate a scan of the memory 213 and the conversion of ASCII code data to screen image data. The scan interval is selectable through the counters of the register R19. An advantage can be obtained in reduction of power consumption by initiating a refresh of the memory at the longest acceptable intervals.
A clock divider circuit 2209 generates the clock signals RATEO-7 having different frequencies. This enables a blink interval selector circuit 2211 to generate the previously-discussed blink control signals CHARBLK, CSRBLK, and DIMBLK with different frequencies.
Figure 23 and 24 illustrate an embodiment of the memory 213 and circuitry for memory and input-output decoding. The manner of operation of the memory 213 and the various circuitry shown in Figures 23 and 24 will be apparent to one of ordinary skill in the art from the description of the LCD-control-2 217 set forth herein and, therefore, additional description of Figures 23 and 24 is not necessary.
While the salient features of the invention have been described with reference to the drawings, it should be understood that the described embodiment is susceptible of modification and substitution without departing from the scope of the following claims.
标题 | 发布/更新时间 | 阅读量 |
---|---|---|
一种基于步态能量图的身份识别方法及系统 | 2020-05-08 | 634 |
一种面向患者的三维胸部器官重建方法和系统 | 2020-05-08 | 872 |
一种基于深度学习多网络软融合的行人检测方法 | 2020-05-11 | 812 |
电梯非正常关闭的检测方法和系统 | 2020-05-08 | 236 |
基于参数解析的自动控制系统 | 2020-05-11 | 69 |
一种图像增强处理方法、装置、设备及存储介质 | 2020-05-11 | 207 |
一种高炉风口的监控方法及监控装置 | 2020-05-11 | 367 |
眼底影像质量评估方法和系统、设备及存储介质 | 2020-05-08 | 24 |
一种基于显著性的CNN盲图像质量评估方法 | 2020-05-11 | 760 |
一种投影内容中字幕区域增强方法、装置及可读存储介质 | 2020-05-08 | 699 |
高效检索全球专利专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。
我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。
专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。