![]() |
|
If you can't view the Datasheet, Please click here to try to view without PDF Reader . |
|
Datasheet File OCR Text: |
the sae 81c80 a dual-port ram (dpr) is a cmos memory ic with a capacity of 504 bytes ( figure 1 ). a very notable feature of this dpr is that it can be used by two microcontrollers (mcs) simultaneously and fully asynchronously. each microcontroller uses the dpr like a normal static ram. thus, when comparing the circuit development of this dpr with that of standard memory, no extra effort is required. access collisions are excluded, which is the pre-requisite for fast communication between the two mcs. the sae 81c80 a dpr is ideally suited for multi-processor/multi-controller applications like master/slave configurations or controls where one controller aquires measured data and a second one controls the actuators (e.g. in motors, etc.). ( see figures 2 and 3 ). type ordering code package sae 81c80 a q67100-h8706 p-lcc-44-1 (smd) cmos dual-port ram cmos ic sae 81c80 a p-lcc-44-1 features l processor interface with address and data bus plus signals ale, wr, rd l 8051-, 8096-compatible timing l memory capacity 504 bytes l all functions fully static (excl. oscillator watchdog) l standby operation l on-chip oscillator with separate clock output l eight scheduling registers l three loadable timers for processor monitoring or applicable as longterm timers l monitoring of internal oscillator (hardware watchdog) l three outputs for interrupt triggering (can be set on the bus) l fully asynchronous operation of two processors possible l data retention down to 1 v l p-lcc-44 (smd) package l extended temperature range from C 40 through 110 c l cmos technology semiconductor group 1 09.94
sae 81c80 a semiconductor group 2 pin configuration (top view) sae 81c80 a semiconductor group 3 pin definitions and functions pin no. symbol function 7 8 9 10 11 12 13 14 ad10 ad11 ad12 ad13 ad14 ad15 ad16 ad17 data and address bus port 1 06 a18 address 8 port 1 37 36 35 34 33 32 31 30 ad20 ad21 ad22 ad23 ad24 ad25 ad26 ad27 data and address bus port 2 38 a28 address 8 port 1 15 29 ale1 ale2 address latch enable port 1 address latch enable port 2 these signals are for separating data and addresses on the bus. the address is stored on the falling edge of the signal. 5 39 rd1 rd2 read signal port 1 (active low) read signal port 2 (active low) 4 40 wr1 wr2 write signal port 1 (active low) write signal port 2 (active low) 3 2 cs1 cs1 chip select port 1 chip select port 1 (active low) 41 42 cs2 cs2 chip select port 2 chip select port 2 (active low) the chip-select inputs select a port when the two associated inputs are on active level. sae 81c80 a semiconductor group 4 27 res reset input resets the ic to a defined initial state when res is low. at the same time the outputs wd1, wd2, wd3 are switched low for the duration of the reset pulse. the oscillator continues to operate. 28 pd power down disables all other inputs and the oscillator when pd is low. 44 1 v ss v dd negative supply voltage positive supply voltage 43 n.c. not connected 19 xtal1 pin for crystal (must remain open for external clock supply). 20 xtal2 pin for crystal or applying external clock 21 clkq clock output 22 wdo oscillator watchdog (open-drain output) high indicates that the oscillator is working. 16 17 18 wd1 wd2 wd3 open-drain outputs of three timers 26 v ss no function (must be connected) 23 24 25 int1 int2 int3 open-drain outputs outputs that can be controlled via the port for triggering an interrupt on a processor for example. pin no. symbol function sae 81c80 a semiconductor group 5 figure 1 principle of the dual-port-ram (dpr) sae 81c80 a semiconductor group 6 figure 2 interfacing master and slave processors by dprs sae 81c80 a semiconductor group 7 figure 3 dual-port ram used between measured-data acquisition and the actuators functional description dual-port ram the sae 81c80a is a 504-byte static ram simultaneously accessible by two microcontrollers. the memory locations are selected via a multiplexed address/data bus and two chip-select inputs. the direction of data transfer is determined by the rd and wr inputs. there will be no undefined states when a memory location is concurrently accessed by two processors, even if they write simultaneously to the same memory location. depending on the internal state of the access control and the actual physical sequence, the value one of the two ports will be stored. also, if one memory location is read and written to at the same time, the data will not be mixed, i.e. either the original data or the new data are read out. sae 81c80 a semiconductor group 8 chip-select inputs the chip-select inputs affect signals wr and rd, but not the ale input. therefore, the ale signal on the dpr (even if the dpr is not selected) must correspond to the specified values. to eliminate selection, it is sufficient if one of the two chip-select inputs becomes inactive when the falling edge of wr or rd appears. reset the reset is necessary for setting the control units of the dpr to a defined initial state. it initializes the timer-mode registers with the values 0000xxx0 b (timers 1 and 2) and 00000xx0 b (timer 3). the int outputs are set to 0. the reset input is a ttl input without schmitt-trigger response. for this reason, neither an ale nor a wr signal must be applied to the dpr if the voltage on the reset input is below v ih . the length of the reset pulse must be greater than six clock (oscillator) cycles and the clock must be active. when the reset input is low the reset input is low, outputs wd1, wd2 and wd3 are set to low. after a reset these outputs are high. the scheduling registers are set to state 1 by reset. a reset is also necessary if the dpr is reactivated from power-down, while the contents of the ram and oscillator remain unaffected. power-down mode when the power-down mode ( pd) is activated, all inputs (except pd and xtal1, xtal2) plus the oscillator are disabled. this means that any levels are possible on the remaining inputs. an active level on pd also produces an internal reset. nevertheless, to ensure proper operation after deactivation of the power-down mode, an external reset should be made to bridge the time required by the oscillator for buildup. the outputs of the ports go high- impedance, while outputs clko, wdo, wd1, wd2, wd3, int1, int2 and int3 are set to low. the pd input shows a schmitt-trigger response. this allows v dd to be evaluated directly, for example ( see application circuit ). sae 81c80 a semiconductor group 9 interrupt outputs the dpr has three interrupt outputs that can be set and reset directly by writing to an address ( see table 1 ). the outputs are located in the same address range as the scheduling registers. however, only bits 2 and 3 are relevant for the interrupt outputs. at least one of bits 0 and 1 should be other than 1 to prevent the scheduling registers from being affected. the functions of the outputs are shown in the following table: oscillator watchdog this part of the circuit is a fail-save mechanism for the oscillator. if the frequency of the clock is missing, the output switches to wdo low. the circuit works like an analog integrator. below approx. 100 khz, low pulses are produced on the output. the pulse width depends on the clock frequency. this part of the circuit should not be used at operating frequencies of les than 500 khz. supply voltage to prevent any interference, the supply voltage of the dpr should be blocked as close as possible to the pins with a capacitor of approx. 100 nf ( see application circuit ). res bit 3 bit 2 output 1 1 1 1 0 0 0 1 1 C 0 1 0 1 C no change 1 0 undefined 0 sae 81c80 a semiconductor group 10 timers the three timers are 24-bit counters with a clock frequency of f osc /6. each of the counters can be set by writing to three specific ram addresses. the value is then simultaneously stored in the ram and a buffer register of the timer. when the low byte is written, all three bytes are parallely stored in the reload register. the value in the reload register is kept in all operating modes until the associated low byte is written again. the counters are down-counters. they can be started by setting bit 7 in the associated timer-mode register (tmr). each counter can be configured by a tmr. the bits of the tmrs have the following function: bit 0: this bit provides overwrite protection for the reload register. use: after writing to the reload registers and starting of the timer C by writing to the associated protection bit C the adjacent ram area can be used without affecting the reload register (reset state = 0). bit 4: it serves for switching the polarity of the output signal (reset state = 0). bit 4 = 0 ; idle state 1, active 0 bit 4 = 1 ; idle state 0, active 1 bit 5: this bit switches the operating mode (reset state = 0). bit 5 = 0 single-shot, i.e. when the counter is started, the output signal becomes active. after reaching zero, the output signal is reset. the timer has to be restarted to trigger another count cycle. the values from the reload register are then loaded into the counter. bit 5 = 1 auto reload, i.e. when the counter is started, the value of the reload register is loaded into it. when zero is reached, the counter issues a pulse ( ? 4 m s at 12 mhz), automatically reloads the original value and the entire operation starts again. in this way a frequency can be set with a resolution of 24 bits. because of the pulse width of eight timer clock pulses, however, the shortest period is limited to nine timer clock pulses ( t osx 5 6). if a new start pulse appears in the count cycle (even without stop), no pulse is issued and the counter is reloaded. bit 6: in the reload mode the timer can be halted by setting this bit and resetting bit 5. (in a new start the contents of the counter are lost and that of the reload registers remain unaffected). bit 7: setting this bit starts the counter. sae 81c80 a semiconductor group 11 only for the registers of timers 1 and 2 bit 1-3: these are used together with bit 0 for switching the watchdog mode on and off. only for the register of timer 3 bit 1-2: reserved (should always be 0 for correct operation). bit 3: switches all three timers to test mode, i.e. only the upper twelve bits are used to generate the output signal (reset state = 0). watchdog mode for timers 1 and 2 a special mode was implemented which can be used to monitor the two processors. in this mode there is a control register (cr) for each timer ( see table 1 for addresses). the watchdog mode is set by loading the tmr with the value 101x1111 b , the polarity of the output signal being freely selectable with bit 4. this mode works similarly to the auto-reload mode, but neither the reload register nor the tmr can be altered. in the watchdog mode, the timer can only be restarted (and the output pulse suppressed) if the values 055 h and 0aa h are successively written into the control register. the time between these two write operations is random, but the sequence must be completed before the timer has run down, i.e. the output pulse is generated. no value may be written into either the tmr or cr between the two write operations, otherwise the sequence has to be started again. to reset the timer to the normal mode, first the value 055 h has to be written into the cr, then the value 010x0000 b into the tmr, and finally the value 0aa h into the cr. here, too, if any other value is written into either of the two registers during the sequence, the entire operation has to be started again. the time between the accesses is random. the timer operation in watchdog mode is illustrated in the appendix in an 8051 example program. note: the relevant bits for changing the timer state to watchdog mode are bit 0 - bit 3; the shown pattern is the only one, which makes sense for this mode. sae 81c80 a semiconductor group 12 figure 4 bit assignment of timer-mode registers for timer 1 and 2 figure 5 bit assignment of timer-mode registers for timer 3 bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 software start (= 1) timer stop (= 1) for auto- reload mode (auto- reload = 1, single- shot = 0) polarity of output pulse (high = 0) only for watchdog mode (normal mode = 0) only for watchdog mode (normal mode = 0) only for watchdog mode (normal mode = 0) protection (= 1) against over- writing of reload register bit 7 bit 6 bit 5 bit 4 bit 3 bit 2 bit 1 bit 0 software start (= 1) timer stop (= 1) for auto- reload mode (auto- reload = 1, single- shot = 0) polarity of output pulse (high = 0) test (= 1) switches timer to test mode reserved (normal mode = 0) reserved (normal mode = 0) protection (= 1) against over- writing of reload register sae 81c80 a semiconductor group 13 access collisions with a ram which can be written to or read simultaneously by two controllers, different kinds of access collision are possible: 1. simultaneous read access to the same memory location from both ports; 2. one port reads the same memory location which the other port writes to concurrently; 3. concurrent write access to the same memory location from both ports; 4. read access to a logically linked data block by one port, while the other port modifies the same data block. the sae 81c80a dual-port ram avoids the first three types of access collision by hardware. the fourth problem can be solved by user software. the standard solution for the access collisions described above would be as follows: before accessing the memory area, an additional memory location must be established by setting an access flag (semaphore). this would necessitate three memory operations: C first access: read the flag and check whether the data area is free. C second access: write the flag with the data for reservation. C third access: read the flag and make sure that your own reservation has not been overwritten by the other port. only after this sequence would a microcontroller be privileged for access and could write or read to the data area without the risk of contention. with the sae 81c80a dual-port ram this access routine is simplified using scheduling registers. sae 81c80 a semiconductor group 14 scheduling registers note: the assignment of a memory area to a scheduling register is defined by the user software of both controllers with the scheduling registers synchronization can be done with only one access because the reservation is performed during reading. the other port cannot overwrite it. this means that a scheduling register is written by reading , unless it was occupied. the description above shows that these registers are no ordinary ram locations. they are formed by a finite state machine (fsm), which can assume the following four states ( see figure 6 ): C state 1: port 1 was the previous owner and the register is free. C state 2: port 1 occupies the register. C state 3: port 2 was the previous owner and the register is free. C state 4: port 2 occupies the register. the state of a register can be read out from the particular address, but causes also a change in the state of the fsm (arrows in figure 6 ). reading produces 2-bit information: C bit 0 is the owner bit. it is set when the reading port is or was the owner of a register. C bit 1 is the occupied bit. it is set when a register has been reserved by a port. C bit 2 through 7 are always 0. reserving is done by reading a register and enabling by writing to it xxxxxx11 b (pay attention to the interrupt outputs of bits 2 and 3!). thus a correct protocol using the scheduling registers takes the following form: 1. read the scheduling register. 2. check whether the occupied bit is set and the owner bit is not set (i.e. the other port has reserved). if so, go back to 1, otherwise continue. 3. process the data area. 4. enable the scheduling register by writing 03 h to the address of the register 5. end in cases where accessing of a data area requires prior reading of or writing to this data area by the second processor, a separate evaluation of the occupied bit and owner bit can be done in step 2: 2a. owner bit self? if so, continue to 2c, otherwise to 2b. 2b. occupied bit self? if so, continue to 2c, otherwise to 3. 2c. enable the scheduling register by writing 03 h to the address of the register (continue with 1). sae 81c80 a semiconductor group 15 the following applies only to the scheduling registers: usually, in the case of a concurrent access by both processors, writing has priority over reading. however, a simultaneous read or write access from the two ports means that port 1 has priority over port 2. the addresses of the scheduling registers are listed in table 1 . the assignment of scheduling registers to specific data areas is made by the user. the software (of both controllers) should be configured so that, prior to accessing a logically related data area, the associated scheduling register is accessed first (according to the above sequence). so the assignment of the various dual-port ram address spaces to scheduling registers will depend solely on the structure of the user software. figure 6 diagram showing the various states of the scheduling registers only the two least significant bits of the data are shown (in converted commas). sae 81c80 a semiconductor group 16 notes : 1. the owner bit indicates the last owner of a register. 2. only if the port is owner of the register will writing change the state. 3. the reset state is state 1. 4. the fsm is symmetrical. therefore, the two processors can use the same program. table 1 address assignment of dpr registers register address register address scheduling register 1 scheduling register 2 scheduling register 3 scheduling register 4 scheduling register 5 scheduling register 6 scheduling register 7 scheduling register 8 1f8 h 1f9 h 1fa h 1fb h 1fc h 1fd h 1fe h 1ff h high-byte timer 2 medium-byte timer 2 low-byte timer 2 high-byte timer 3 medium-byte timer 3 low-byte timer 3 1e7 h 1e6 h 1e5 h 1eb h 1ea h 1e9 h timer-mode register 1 timer-mode register 2 timer-mode register 3 1e0 h 1e4 h 1e8 h control-register timer 1 control-register timer 2 1ec h 1ed h high-byte timer 1 medium-byte timer 1 low-byte timer 1 1e3 h 1e2 h 1e1 h interrupt output 1 interrupt output 1 interrupt output 1 1f8 h 1f9 h 1fa h sae 81c80 a semiconductor group 17 figure 7 memory map sae 81c80 a semiconductor group 18 block diagram sae 81c80 a semiconductor group 19 absolute maximum ratings t a = C 40 to 110 c; all voltages referred to v ss parameter symbol limit values unit min. typ. max. storage temperature t stg C 50 C 125 c total power dissipation p tot C C 500 mw power dissipation per output p q CC50mw input voltage v i C 0.5 C v dd + 0.5 v supply voltage v dd C 0.5 C 6 v operating range supply voltage v dd 4.5 5 5.5 v supply current (w/o loading of outputs) i dd CC20ma operating frequency f s CC12mhz ambient temperature t a C 40 C 110 c standby current i dd CC1 m a data-retention voltage v dh 1CCv sae 81c80 a semiconductor group 20 dc characteristics t a = 25 c; all voltages referred to v ss parameter symbol limit values unit test condition min. max. all input signals except xtal2 and pd h-input voltage l-input voltage input capacitance input current v ih v il c i i i 2.2 0 C C v dd 0.8 10 1 v v pf m a C C C C xtal2 (as external clock input) h-input voltage l-input voltage input capacitance v ih v il c i 3.5 0 C v dd 0.5 10 v v pf C C C pd (schmitt-trigger characteristics) h-input voltage l-input voltage input capacitance v ih v il c i v dd C 1 0 C v dd 1.0 10 v v pf C C C output signals ad10-17, ad20-27 h-output voltage l-output voltage v qh v ql 2.4 C v dd 0.4 v v i q = 0.5 ma i q = 1.6 ma output signals wd1, wd2, wd3, wd0 (open drain, weak pull-up) l-output voltage v ql C 0.4 v i q = 1.6 ma output signal clock-out h-output voltage l-output voltage load capacitance v qh v ql c l 2.4 C C C 0.4 80 v v pf i q = 0.5 ma i q = 1.6 ma C sae 81c80 a semiconductor group 21 ac characteristics the ac characteristics apply throughout the operating range t a = 25 c. parameter symbol limit values unit min. max. read cycle time t cyr 300 + t lhll Cns write cycle time t cyw 440 + t lhll Cns ale pulse width t lhll 40 C ns address setup to ale low t avll 30 C ns address hold after ale low t llax 40 C ns rd pulse width t rlrh 120 C ns wr pulse width t wlwh 120 C ns ale low to rd or wr active t llwl 30 C ns data hold after rd high t rhdx 030ns ale low to valid data out t lldv C 290 ns rd low to data valid (only scheduling registers) t rldv C2 t osc + 20 ns valid data in after wr low t dvwl C30ns wr low to ale high t wllh 150 C ns data setup before wr high t qvwh 30 C ns data hold after wr high t whqx 30 C ns delay rd low to both chip select active t rlch C20ns delay wr low to both chip select active t wlch C20ns set-up of chip select to rd *) t clrl 0Cns set-up of chip select to wr *) t clwl 0Cns *) for deselection sae 81c80 a semiconductor group 22 pulse diagram 1 active pulse length of timer outputs t act 48 t osc 48 t osc ns oscillator period t osc 83 C ns high time t osch 35 C ns low time t scl 35 C ns ac characteristics (contd) the ac characteristics apply throughout the operating range t a = 25 c. parameter symbol limit values unit min. max. sae 81c80 a semiconductor group 23 pulse diagram 2 note to chip select timing: the shown timing is not necessary, if the device is always activated or deactivated. this means either of cs or cs or both may be constant high or low. sae 81c80 a semiconductor group 24 pulse diagram 3 sae 81c80 a semiconductor group 25 example of application circuit 1) 1) design proposal (non-obligatory) sae 81c80 a semiconductor group 26 appendix 8051 program for timer operation in watchdog mode hbyte tmr cr rest1 rest2 wdoff equ equ equ equ equ equ 1e3 h 1e0 h 1ec h 055 h 0aa h 040 h ; address high byte reload register ; address timer-mode register ; address control register ; 1st value to restart timer ; 2nd value to restart timer ; value to switch off watchdog mode ; load reload register mov clr movx dec mov movx dec movx dptr, #hbyte a @dptr,a dpl a, #0ffh @dptr,a dpl @dptr,a ; set watchdog mode and start timer mov dec movx a, #0afh dpl @dptr,a ; reset timer mov mov movx mov movx dptr, #kr a, #rest1 @dptr,a a, #rest2 @dptr,a ; switch off watchdog mode and halt timer sae 81c80 a semiconductor group 27 mov mov movx mov mov movx mov mov movx dptr, #kr a, #rest1 @dptr,a a, #wdoff dptr, #tmr @dptr,a a, #rest2 dptr, #kr @dptr,a ; end 8051 program for timer operation in watchdog mode (contd) |
Price & Availability of SAE81C80A
![]() |
|
|
All Rights Reserved © IC-ON-LINE 2003 - 2022 |
[Add Bookmark] [Contact Us] [Link exchange] [Privacy policy] |
Mirror Sites : [www.datasheet.hk]
[www.maxim4u.com] [www.ic-on-line.cn]
[www.ic-on-line.com] [www.ic-on-line.net]
[www.alldatasheet.com.cn]
[www.gdcy.com]
[www.gdcy.net] |