Saturday, February 8, 2014

NCB85 7. nové NCB85v2

NCB85 bolo navrhnuté ako minimalistická doska s 8085 procesorom. Chcel som ho využívať na testovanie úprav na kompileri SmallC. Časom naviac oproti plánovanému jednoduchému bootloaderu pribudol MON85 a nakoniec aj CP/M. Toto podstatne zvýšilo využiteľnosť a atraktivitu NCBčka. Dokonca aj v mojich očiach :-)
Fantastický popis NCB85 je na stránkach: Nostalcomp a 8bity. Popis CP/M pre NCB85 je tu: Borik
Po takmer dvoch rokoch sa prvá séria dosiek minula, ale občasný záujem tu stále je. To bol dôvod prečo som sa rozhodol pre druhú verziu.

Popis

NCB85v2 obsahuje výlučne súčiastky, ktoré sa montujú klasicky do diery. Minimálny rozostup pinov je 2.54mm, čo je vzdialenosť dvoch pinov na DIP puzdre. Na osadenie postačuje aj pištolová letovačka. Tú samozrejme neodporúčam, pretože nemá reguláciu teploty a veľmi ľahko môže zničiť dosku prehriatím a odlepením medi z podkladu.
Rozmery dosky sú jemne väčšie ako u prvej verzie. Tentokrát je to štandardných 16x10 cm.



Opravy
Nové NCB85v2 opravuje chybu prepojenia výstupu časovača so vstupom RST6.5. Teraz tam je správne vradený invertor.
Naviac opravuje aj druhú chybu časovača - príliš krátky prerušovací impulz. Pôvodne mal pri auto-reload mode výstupný impulz z timera 8155 dĺžku iba 10 alebo 16 strojových cyklov. V prípadne kryštálu 6.144MHz a deličky 7490 to bolo 10. V prípade 9.8304 MHz kryštálu a deličky 7493 to bolo 16 strojových cyklov. Lenže viaceré inštrukcie 8080 potrebujú až 18 strojových cyklov. Kedže sa prerušovací vstup testuje jeden krát za dobu vykonávania inštrukcie, dochádzalo k nevyhnuteľnému. Niektoré impulzy na prerušovacom vstupe sa strácali.
Nové NCB85v2 má do časovača privedený signál nezávislý od rýchlosti CPU a už pri kryštáli 6.144Mhz bude dĺžka výstupného impulzu 20 strojových cyklov. Pri použití rýchlejších kryštálov to bude zodpovedajúco viac.
Tentokrát je možné použiť aj 2716 a 2732 EPROMky v DIP24 puzdre. Na pine 24 je privedené VCC. Pri použití 27128 bude A13 stále na VCC. V starom NCB85 by bolo na GND.

Kompatibilita
Nové NCB85v2 je spätne plne kompatibilné. Všetko čo fungovalo na starom NCB85 funguje aj na novom. Sú tu staré známe 8251A a 8155 spolu s 64k RAM a 2-8kB ROM.
Adresy IO ostali rovnaké:
8251A - 08H..09H
8155 - 00H..07H
MON85 aj CP/M aj skúšobné programy využívajúce 8155 fungujú ako predtým. CPU môže mať osadený akýkoľvek kryštál, ale z hľadiska výkonu bude rozumné minimum asi 6MHz.
CMOS obvody OKI vraj dokážu fungovať až s kryštálmi 24MHz. Osvedčené CPU Toshiba spoľahlivo fungujú s kryštálmi 9.8304MHz. Rýchly test ukázal funkčnosť dosky s CP/M s kryštálom 12.228MHz.16MHz!! Pri 20MHz ešte stále nabootuje CP/M, ale potom sa už občas nejaká chybička objaví.

Zmeny
Rýchlosť sériového prenosu cez 8251A je nezávislá od hodín CPU a je voliteľná hardwarovo. Jedným jumperom je možné zvoliť baud rate v rozsahu od 600 do 38400 baud.
Pribudol dvojitý UART 16552. V pomerne malom puzdre sa nachádzajú hneď ďalšie dva sériové porty. To navyšuje celkový počet sériových portov na 3.
Pribudli dva "klasické" obvody 8255 a 8253/8254. Prvý je pripojený do DSUB 15 pin konektoru, ktorý je zapojený rovnako ako rozhranie pre PMD32. Port B a polovica portu C sú vyvedené na klasické headre so zámkom.
8253 je vyvedený na headre s tým, že k RST6.5 je možné pripojiť jeho timer/counter 0 namiesto timeru/counteru z 8155.

Konfigurácie
NCB85v2 je možné osadiť v minimálnej konfigurácii s 8251A/8155 a neosádzať 16552, 8253 a 8255. CP/M s BIOS V1.2 funguje cez 8155. Generátor baud rate potrebuje kryštál 9.8304MHz.
Samozrejme je možné osadiť 8255 a ďalšie obvody a neosadiť 8155.Časom snáď pribudne Už máme aj CP/M BIOS V2.0 upravený na porty 8255. PMD32SD sa pripája priamo ku NCB85v2 cez DB15 konektor. CP/M ponúka okrem filesystému aj veľký výber interpretrov, prekladačov (BASIC, C, PL/M, Lisp ..) a ladiacich nástrojov (DDT, SID, MAC, ..). Takto je možné písať programy v plnohodnotnom operačnom systéme, ktorým ostane k dispozíci 34 IO-pinov, štyri timer/countery a dve sériové linky.

Rozšíriteľnosť
Na doske je rozširovací konektor IDC 40 pinov. Vyvedené sú dátová a adresová zbernica. Riadiace signály WR/M, RD/M, WR/IO, RD/IO, RESET, INTR, INTA, ALE a pár ďalších.
Počíta sa s rozširovacou doskou, ktorá bude obsahovať radič disketových mechaník, stránkovanú a zálohovanú RAM 512kB s možnosťou non volatile RAM disku. Ďalej radič I2C zbernice s nejakým I2C obvodmi priamo na doske (IO porty, real time clock / calendar, teplomer, EEPROM). Tieto obvody by malo byť možné využívať aj v prípade, že rozširovacia doska bude pripojená k inej doske, napríklad nejakej s CPU Z80. Iba pre CPU 8085 a teda dosku NCB85v2 tam ešte bude veľmi zaujímavý obvod 8256. Tento obvod kombinuje v jednom puzdre UART, IO, timer/countre a radič prerušení(8251+8255+8253+8259)!

Nové chyby :-(
Objavil som jednu popisku (na plošáku) pri JUM4, ktorá má správne byť pri JUM3. Hovorí, že treba vytiahnuť príslušný jumper ak sa zapojí JUM5 na aktiváciu ALL RAM (CP/M) módu.
Jedna malá chyba je v zapojení tretieho sériového portu. Pin 31 obvodu TL16552D mal ísť na VCC. Ale nie je to nič vážne, pri osadení JUM9 to bude fungovať. TL16552D je jediný obvod, ktorý som zatiaľ neosadil a neotestoval. Nemám ho, ale už som ho objednal z USA. funguje to aj bez JUM9. Obidva kanály UART 16552 sú funkčné a otestované :-)





Dostupnosť
Ponúkam zopár dosiek a nasledovné súčiastky ako nekompletné kity: 8251A a 8254 aj so socketmi, 8085 CPU, 8155, kryštál 6.144MHz, 9.8304MHz a 16MHz. V prípade záujmu môžem ešte poskytnúť 7400, 7432, 74138, 74573, RAM, 8255, 8256 a naprogramované EPROMky.

Na stiahnutie
Schema