7816 implementation in SIMtrace

This is merely a historical archive of years 2008-2021, before the migration to mailman3.

A maintained and still updated list archive can be found at https://lists.osmocom.org/hyperkitty/list/simtrace@lists.osmocom.org/.

Harald Welte laforge at gnumonks.org
Fri May 18 06:35:05 UTC 2012


Hi Eran,

On Fri, May 18, 2012 at 01:47:05AM +0300, Eran Duchan wrote:

> 1) It is stated in the hardware section that the datasheet for the SAM7S
> does not specify working as a slave, and this is indeed the case. How did
> this slave implementation come about? Trial and error or is this an
> officially supported mode?

It came about by thinking about 7816-3, carefully studying the sam7s
manual, some extrapolation how the logic in the IP core might work and a
small experiment with an sam7s development board in 2010.

Well, if you look at 7816-3, there is really not that much difference
between a master and a slave on the bit and byte level.  The only real
difference is who transmits when, and who generates the clock.

As the Atmel USART can be clock master or slave in the non-7816 modes,
it seemed probable that this is the same for the 7816 mode.

Furthermore, a "passive slave" shall of course not signal any parity
error to the master, as it is up to the real slave to determine that.
The latter can be explicitly configured in the Atmel USART.

> 2) The SAM3S also has no mention of 7816 slave mode, and I noticed v2.0 of
> the hardware will be based on this uC. Has this been verified to work?

Atmel is known to use the same IP cores in a lot of their chips, and the
sam3s is more or less just the sam7s which replaces the arm7tdmi core
with a cortex-m3.  There are some other improvements like more USB
endpoints, but I haven't seen any indication of changes in the USART.

> 3) I'm trying to understand why compute_fidi_ratio() returns a
> multiplication of fi, di instead of division if di > 8. Didn't see anything
> that states this requirement in the SAM7S datasheet (table 31-5).

See Table 7 if ISO 7816-3.  Di > 0x8 is "divide by 1/2, 1/4, 1/8, ..."
which is the same as multipliciation by the divisor.

Regards,
	Harald
-- 
- Harald Welte <laforge at gnumonks.org>           http://laforge.gnumonks.org/
============================================================================
"Privacy in residential applications is a desirable marketing option."
                                                  (ETSI EN 300 175-7 Ch. A6)




More information about the simtrace mailing list