MICROCHIP AN5489 PCI and PCIe Bus Cards
Specifications
- Product: Microchip PCI/PCIe Bus Cards
- Compatibility: NTPd software
- Operating Systems: Linux
Product Usage Instructions
Bus Card Compatibility And Operating Systems
The Microchip bus card models are compatible with the NTPd software. Ensure you have the necessary SDKs for Linux from Microchip.
Step-By-Step Instructions for Microchip
Hardware Installation
Follow these steps for hardware installation:
- Locate an available PCI/PCIe slot on your host computer.
- Power off the computer and unplug it from the power source.
- Insert the Microchip bus card into the selected slot, ensuring it is firmly seated.
- Secure the card in place with the screw or clip provided.
- Close the computer case and reconnect any cables.
- Power on the computer.
Software Installation/Configuration
For software installation and configuration:
- Download the required SDK for your specific bus card model from MyMicrochip.
- Install the drivers as per the instructions provided in the SDK.
- Configure NTPd to recognize the bus card as a time reference.
- Follow any additional setup steps outlined in the SDK documentation.
FAQ
- Are drivers for the bus cards available for free?
Yes, all SDKs and drivers are available for free from MyMicrochip after registering on the platform. - Can NTPd obtain time from sources other than time servers?
Yes, NTPd can obtain time from various sources including GPS clocks, radio clocks, and clocks installed on the computer PCI/PCIe bus using Reference Clock Drivers. - What operating systems are supported for using Microchip bus cards with NTPd?
The Microchip bus cards are compatible with Linux operating systems for accurate clock steering with NTPd.
Introduction
The longstanding NTP daemon is a remarkable piece of software. Some think of it as a piece of software to serve time, others as a time client synchronization application. In truth, it is both timing server and timing client. As a time server or time client, it gets time from somewhere and steers the local clock of the host computer on which it is running. The clock-steering algorithms and controls for getting the time and steering the local clock work quite well.
What is different for NTPd running as a server is that it can obtain time from sources other than another time server. By using what is called as Reference Clock Drivers, NTPd can obtain time from GPS clocks, radio clocks, even clocks installed on the computer PCI/PCIe bus.
Reference clock drivers (ref clock drivers for short) are built into the NTPd software. Through proper configuration of the free NTPd and some free software from Microchip, very precise time can be obtained from the very accurate Microchip bus level PCI/PCIe timing cards and used to steer the local clock. This is particularly useful in precisely steering the clock of a Linux® computer that has a Microchip PCI/PCIe bus card installed.
The following figure outlines the use of NTP to accurately steer a local clock with a bus card time reference.
Figure 1. Steering a Local Clock with a Bus Card and NTP
This application note provides instructions on using NTPd and Microchip Bus Level PCI/PCI Express Cards to accurately steer a Linux based local clock.
Bus Card Compatibility And Operating Systems
The following Microchip bus card models are all compatible with the NTPd software. Different SDKs for Linux from Microchip may be required. All SDKs and drivers are available for free from MyMicrochip (after registering, perform a file search for your bus card model (for example, BC635PCIE). The search will take you to the product page. Under the Software section of the product page, you will find the drivers).
The following table lists the Microchip bus card models compatible with NTPd
Table 1-1. Microchip Bus Card Models Compatible with NTPd
PCI | PCI Express | PMC | CPCI |
bc635PCI * | bc635PCIe | bc635PMC* | bc635CPCI* |
bc637PCI* | bc637PCIe | bc637PMC* | bc637CPCI* |
bc635PCI-U* | — | — | — |
bc637PCI-U* | — | — | — |
bc635PCI-V2 | — | — | — |
bc637PCI-V2 | — | — | — |
Note: * These are our legacy bus card models compatible with NTPd, but are no longer available for purchase.
Step-By-Step Instructions for Microchip
The following sections provide step-by-step instructions for installing Microchip drivers and NTPd. This includes both hardware and the software installation instructions.
Hardware Installation
Install the Microchip bus card in the Linux computer by inserting it firmly on an empty PCI slot. You need a screwdriver to do this.
Software Installation/Configuration
Before beginning with the software installation, login as a Root user. Follow these instructions to complete the installation.
- Install bc635/637 driver per instructions in user manual or the README file.
- Verify installation by running the bc63xPCIcfg program in the sample folder.
- Verify that after rebooting the computer, the sample program operates properly. If not, then follow the instructions to add the module to the boot script.
- Copy the library file, libbcsdk.so, from the sample folder to /usr/lib/.
- Make a link to the device driver:
ln –s /dev/windrvr6 /dev/btfp0 - Rename the driver name windrvr6 to the one you installed under the /dev directory.
- Download the NTP source code from www.ntp.org/downloads.html. Version 4.2.8p18 is used for this document.
- Before working on NTP, perform the following:
- Run the demo program bc63xPCIcfg-so under the SDK sample directory to make sure the card is working correctly.
- Issue command option 1 (Read Current Time) and it should show the binary time continuously.
Notice it should show UTC time, not the local time. If not, use command option 15 to change local time offset to 0 to revert it to UTC, or option 8 to select binary time format.
- On NTP, perform the following:
- Extract the downloaded source code:
tar –xvzf ntp-4.2.8p18 - Edit /etc/ntp.conf. If it does not exist, create one:
Add the server line:
server 127.127.16.0 prefer mode 2 burst minpoll 4 maxpoll 4
You can remove the other server lines, or leave them as a backup time sources.
- Extract the downloaded source code:
- Configure the build environment:
cd <TOP LEVEL OF THE NTP SOURCE CODE>
./configure –enable-BANCOMM
Make sure the buscard SDK library will be linked to the ntpd daemon app:
cat ntpd/Makefile | grep bcsdk
You should see LIBS = -lbcsdk. If not, manually edit Makefile. - Modify file ntpd/refclock_bancomm.c to comment out the “attribute weak”:
extern uint32_t /* __attribute__ ((weak)) */ bcReadBinTime(SYMMT_PCI_HANDLE, bcBinTimeT*, bcBinTimeT*, uint8_t*);
extern SYMMT_PCI_HANDLE /* __attribute__ ((weak)) */ bcStartPci(void);
extern void /* __attribute__ ((weak)) */ bcStopPci(SYMMT_PCI_HANDLE); - Build the ntpd daemon. To do this, issue the following command at the top level of the source code:
sudo make install
This should build the ntpd daemon under the ntpd directory. - Make sure no ntpd instance is currently running by using the following command ps -A | grep ntpd
This command should show nothing. If not, follow these steps:- Use command killall ntpd to terminate the running instance.
- Start the daemon app:
cd ntpd
sudo ./ntpd -g - Make sure only one ntpd instance is now running:
$ ps -A | grep ntpd
This command should show ntpd running.
- Query ntpd for its peers: ntpq –p
- Should show GPS_BANC(0) under remote. If it does, the corresponding ‘reach’ value should change from zero, but if it does not change then the bus card is not reporting it is synchronized.
- If GPS_BANC is not listed, then stop the ntpd and run it again with the –version option to make sure that the correct version of the daemon is being started.
- To verify the bus card is referenced after a system reset, stop NTPd:
root:~# ps -ef | grep ntp
root 17865 1 0 10:27 ? 00:00:00 ntpd -g root 17886 17869 0 10:27 pts/4 00:00:00 grep –color=auto ntp
root:~# kill 17865 - Start ntp as a service: service ntpd start (If service is not found, substitute ntp for ntpd.
- Repeat step 11 to determine if the ntpd that is started as a service is the correct version. If it is, then the setup is complete. Otherwise, continue on.
- Determine where there are copies of ntpd:
root:~# whereis ntpd
ntpd: /usr/sbin/ntpd /usr/local/bin/ntpd /usr/share/man/man8/ntpd.8.gz - Run each executable with –version tag to determine which executable is the old version:
root:~# /usr/sbin/ntpd –version
ntpd – NTP daemon program – Ver. 4.2.4p7 root:~# /usr/local/bin/ntpd –version ntpd – NTP daemon program – Ver. 4.2.8p18 - Remove/rename any executables that are not the current version, then create a symbolic link in their place to point to the correct version of the kernel:
root:~# mv /usr/sbin/ntpd /usr/sbin/ntpd-old root:~# ln –s /usr/local/bin/ntpd /usr/sbin/ntpd - Repeat step 13 and step 14 until it shows that the correct version is now being started as a service.
Verifying that NTP is Using the Bus Card for Time:
Executing ntpq -p at any time will report the peers that the NTP daemon is currently using.
- If a connection refused message is returned, then the NTP daemon is not running and can be started as in step 13
- Each row that is returned by ntpq -p is one peer that the NTP daemon may use, and the number of peers depends on your ntp.conf file
- The bus card is represented as GPS_BANCOMM and should have the asterisk (*) next to it as this represents that it is currently the source that NTP is using for synchronization.
- The reach column for the bus card should be close to 377.
- This column specifies how successful the NTP daemon has been at reaching the source and ranges from 0 (unable to reach the last 8 attempts) to 377 (successfully reached for the last 8 attempts). If NTP has just been started, this value may be zero, but should start increasing within 20 seconds assuming the poll values were set to 4 as in step 7b.
Resources
This section lists the available resources to help you use the ntpd:
- NTPdaemon: www.ntp.org
- Microchip bus card drivers: www.microchip.com/MyMicrochip
- After registering, perform a file search for your buscard model (for example, BC635PCIE). The search takes you to the product page.
- Under the Software section of the product page, you will find the drivers
- Microchip bus cards: www.microchip.com/en-us/products/clock-and-timing/systems/gnss-timing-accessories/time-frequency-bus-cards
Contacting Technical Support
If you encounter any difficulty installing the update or operating the product, contact Microchip Frequency and Time Division (FTD) Services and Support at:
Region | Address | Contact Information |
North and South America | Microchip, Inc. Frequency and Time Division 3870 N First Street San Jose, CA 95134-1702 |
|
Europe, Middle East, and Africa (EMEA) | Microchip FTD Services and Support EMEA Altlaufstrasse 42 85635 Hoehenkirchen-Siegertsbrunn Germany |
|
Asia | Suite A201, 2nd Floor, West Wing, Wisma Consplant 2, No. 7, JalanSS16/1, 47500 Subang Jaya Selangor, Malaysia |
|
Revision History
The revision history describes the changes that were implemented in the document. The changes are listed by revision, starting with the most current publication.
Table 5-1. Revision History
Revision | Date | Description |
A | 07/2024 | Initial Revision |
Microchip Information
The Microchip Website
Microchip provides online support via our website at www.microchip.com/. This website is used to make files and information easily available to customers. Some of the content available includes:
- Product Support – Data sheets and errata, application notes and sample programs, design resources, user’s guides and hardware support documents, latest software releases and archived software
- General Technical Support – Frequently Asked Questions (FAQs), technical support requests, online discussion groups, Microchip design partner program member listing
- Business of Microchip – Product selector and ordering guides, latest Microchip press releases, listing of seminars and events, listings of Microchip sales offices, distributors and factory representatives
Product Change Notification Service
Microchip’s product change notification service helps keep customers current on Microchip products. Subscribers will receive email notification whenever there are changes, updates, revisions or errata related to a specified product family or development tool of interest.
To register, go to www.microchip.com/pcn and follow the registration instructions.
Customer Support
Users of Microchip products can receive assistance through several channels:
- Distributor or Representative
- Local Sales Office
- Embedded Solutions Engineer (ESE)
- Technical Support
Customers should contact their distributor, representative or ESE for support. Local sales offices are also available to help customers. A listing of sales offices and locations is included in this document.
Technical support is available through the website at: www.microchip.com/support
Microchip Devices Code Protection Feature
Note the following details of the code protection feature on Microchip products:
- Microchip products meet the specifications contained in their particular Microchip Data Sheet.
- Microchip believes that its family of products is secure when used in the intended manner, within operating specifications, and under normal conditions.
- Microchip values and aggressively protects its intellectual property rights. Attempts to breach the code protection features of Microchip product is strictly prohibited and may violate the Digital Millennium Copyright Act.
- Neither Microchip nor any other semiconductor manufacturer can guarantee the security of its code. Code protection does not mean that we are guaranteeing the product is “unbreakable”. Code protection is constantly evolving. Microchip is committed to continuously improving the code protection features of our products.
Legal Notice
This publication and the information herein may be used only with Microchip products, including to design, test, and integrate Microchip products with your application. Use of this information in any other manner violates these terms. Information regarding device applications is provided only for your convenience and may be superseded by updates. It is your responsibility to ensure that your application meets with your specifications. Contact your local Microchip sales office for additional support or, obtain additional support at www.microchip.com/en-us/support/design-help/client-support-services.
THIS INFORMATION IS PROVIDED BY MICROCHIP “AS IS”. MICROCHIP MAKES NO REPRESENTATIONS OR WARRANTIES OF ANY KIND WHETHER EXPRESS OR IMPLIED, WRITTEN OR ORAL, STATUTORY OR OTHERWISE, RELATED TO THE INFORMATION INCLUDING BUT NOT LIMITED TO ANY IMPLIED WARRANTIES OF NON-INFRINGEMENT, MERCHANTABILITY, AND FITNESS FOR A PARTICULAR PURPOSE, OR WARRANTIES RELATED TO ITS CONDITION, QUALITY, OR PERFORMANCE.
IN NO EVENT WILL MICROCHIP BE LIABLE FOR ANY INDIRECT, SPECIAL, PUNITIVE, INCIDENTAL, OR CONSEQUENTIAL LOSS, DAMAGE, COST, OR EXPENSE OF ANY KIND WHATSOEVER RELATED TO THE INFORMATION OR ITS USE, HOWEVER CAUSED, EVEN IF MICROCHIP HAS BEEN ADVISED OF THE POSSIBILITY OR THE DAMAGES ARE FORESEEABLE. TO THE FULLEST EXTENT ALLOWED BY LAW, MICROCHIP’S TOTAL LIABILITY ON ALL CLAIMS IN ANY WAY RELATED TO THE INFORMATION OR ITS USE WILL NOT EXCEED THE AMOUNT OF FEES, IF ANY, THAT YOU HAVE PAID DIRECTLY TO MICROCHIP FOR THE INFORMATION.
Use of Microchip devices in life support and/or safety applications is entirely at the buyer’s risk, and the buyer agrees to defend, indemnify and hold harmless Microchip from any and all damages, claims, suits, or expenses resulting from such use. No licenses are conveyed, implicitly or otherwise, under any Microchip intellectual property rights unless otherwise stated.
Trademarks
The Microchip name and logo, the Microchip logo, Adaptec, AVR, AVR logo, AVR Freaks, BesTime, BitCloud, CryptoMemory, CryptoRF, dsPIC, flexPWR, HELDO, IGLOO, JukeBlox, KeeLoq, Kleer, LANCheck, LinkMD, maXStylus, maXTouch, MediaLB, megaAVR, Microsemi, Microsemi logo, MOST, MOST logo, MPLAB, OptoLyzer, PIC, picoPower, PICSTART, PIC32 logo, PolarFire, Prochip Designer, QTouch, SAM-BA, SenGenuity, SpyNIC, SST, SST Logo, SuperFlash, Symmetricom, SyncServer, Tachyon, TimeSource, tinyAVR, UNI/O, Vectron, and XMEGA are registered trademarks of Microchip Technology Incorporated in the U.S.A. and other countries.
AgileSwitch, ClockWorks, The Embedded Control Solutions Company, EtherSynch, Flashtec, Hyper Speed Control, HyperLight Load, Libero, motorBench, mTouch, Powermite 3, Precision Edge, ProASIC, ProASIC Plus, ProASIC Plus logo, Quiet-Wire, SmartFusion, SyncWorld, TimeCesium, TimeHub, TimePictra, TimeProvider, and ZL are registered trademarks of Microchip Technology Incorporated in the U.S.A.
Adjacent Key Suppression, AKS, Analog-for-the-Digital Age, Any Capacitor, AnyIn, AnyOut, Augmented Switching, BlueSky, BodyCom, Clockstudio, CodeGuard, CryptoAuthentication, CryptoAutomotive, CryptoCompanion, CryptoController, dsPICDEM, dsPICDEM.net, Dynamic Average Matching, DAM, ECAN, Espresso T1S, EtherGREEN, EyeOpen, GridTime, IdealBridge, IGaT, In-Circuit Serial Programming, ICSP, INICnet, Intelligent Paralleling, IntelliMOS, Inter-Chip Connectivity, JitterBlocker, Knob-on-Display, MarginLink, maxCrypto, maxView, memBrain, Mindi, MiWi, MPASM, MPF, MPLAB Certified logo, MPLIB, MPLINK, mSiC, MultiTRAK, NetDetach, Omniscient Code Generation, PICDEM, PICDEM.net, PICkit, PICtail, Power MOS IV, Power MOS 7, PowerSmart, PureSilicon, QMatrix, REAL ICE, Ripple Blocker, RTAX, RTG4, SAM-ICE, Serial Quad I/O, simpleMAP, SimpliPHY, SmartBuffer, SmartHLS, SMART-I.S., storClad, SQI, SuperSwitcher, SuperSwitcher II, Switchtec, SynchroPHY, Total Endurance, Trusted Time, TSHARC, Turing, USBCheck, VariSense, VectorBlox, VeriPHY, ViewSpan, WiperLock, XpressConnect, and ZENA are trademarks of Microchip Technology Incorporated in the U.S.A. and other countries.
SQTP is a service mark of Microchip Technology Incorporated in the U.S.A.
The Adaptec logo, Frequency on Demand, Silicon Storage Technology, and Symmcom are registered trademarks of Microchip Technology Inc. in other countries.
GestIC is a registered trademark of Microchip Technology Germany II GmbH & Co. KG, a subsidiary of Microchip Technology Inc., in other countries.
All other trademarks mentioned herein are property of their respective companies.
© 2024, Microchip Technology Incorporated and its subsidiaries. All Rights Reserved.
ISBN: 978-1-6683-4846-8
Quality Management System
For information regarding Microchip’s Quality Management Systems, please visit www.microchip.com/quality.
Worldwide Sales and Service
AMERICAS | ASIA/PACIFIC | ASIA/PACIFIC | EUROPE |
Corporate Office 2355 West Chandler Blvd. Chandler, AZ 85224-6199 Tel: 480-792-7200 Fax: 480-792-7277 Technical Support: www.microchip.com/support Web Address: www.microchip.com Atlanta Duluth, GA Tel: 678-957-9614 Fax: 678-957-1455 Austin, TX Tel: 512-257-3370 Boston Westborough, MA Tel: 774-760-0087 Fax: 774-760-0088 Chicago Itasca, IL Tel: 630-285-0071 Fax: 630-285-0075 Dallas Addison, TX Tel: 972-818-7423 Fax: 972-818-2924 Detroit Novi, MI Tel: 248-848-4000 Houston, TX Tel: 281-894-5983 Indianapolis Noblesville, IN Tel: 317-773-8323 Fax: 317-773-5453 Tel: 317-536-2380 Los Angeles Mission Viejo, CA Tel: 949-462-9523 Fax: 949-462-9608 Tel: 951-273-7800 Raleigh, NC Tel: 919-844-7510 New York, NY Tel: 631-435-6000 San Jose, CA Tel: 408-735-9110 Tel: 408-436-4270 Canada – Toronto Tel: 905-695-1980 Fax: 905-695-2078 |
Australia – Sydney Tel: 61-2-9868-6733 China – Beijing Tel: 86-10-8569 7000 China – Chengdu Tel: 86-28-8665-5511 China – Chongqing Tel: 86-23-8980-9588 China – Dongguan Tel: 86-769-8702-9880 China – Guangzhou Tel: 86-20-8755-8029 China – Hangzhou Tel: 86-571-8792-8115 China – Hong Kong SAR Tel: 852-2943-5100 China – Nanjing Tel: 86-25-8473-2460 China – Qingdao Tel: 86-532-8502 7355 China – Shanghai Tel: 86-21-3326-8000 China – Shenyang Tel: 86-24-2334-2829 China – Shenzhen Tel: 86-755-8864-2200 China – Suzhou Tel: 86-186-6233-1526 China – Wuhan Tel: 86-27-5980-5300 China – Xian Tel: 86-29-8833-7252 China – Xiamen Tel: 86-592-2388138 China – Zhuhai Tel: 86-756-3210040 |
India – Bangalore Tel: 91-80-3090-4444 India – New Delhi Tel: 91-11-4160-8631 India – Pune Tel: 91-20-4121-0141 Japan – Osaka Tel: 81-6-6152-7160 Japan – Tokyo Tel: 81-3-6880- 3770 Korea – Daegu Tel: 82-53-744-4301 Korea – Seoul Tel: 82-2-554-7200 Malaysia – Kuala Lumpur Tel: 60-3-7651-7906 Malaysia – Penang Tel: 60-4-227-8870 Philippines – Manila Tel: 63-2-634-9065 Singapore Tel: 65-6334-8870 Taiwan – Hsin Chu Tel: 886-3-577-8366 Taiwan – Kaohsiung Tel: 886-7-213-7830 Taiwan – Taipei Tel: 886-2-25088600 Thailand – Bangkok Tel: 66-2-694-1351 Vietnam – Ho Chi Minh Tel: 84-28-5448-2100 |
Austria – Wels Tel: 43-7242-2244-39 Fax: 43-7242-2244-393 Denmark – Copenhagen Tel: 45-4485-5910 Fax: 45-4485-2829 Finland – Espoo Tel: 358-9-4520-820 France – Paris Tel: 33-1-69-53-63-20 Fax: 33-1-69-30-90-79 Germany – Garching Tel: 49-8931-9700 Germany – Haan Tel: 49-2129-3766400 Germany – Heilbronn Tel: 49-7131-72400 Germany – Karlsruhe Tel: 49-721-625370 Germany – Munich Tel: 49-89-627-144-0 Fax: 49-89-627-14444 Germany – Rosenheim Tel: 49-8031-354-560 Israel – Hod Hasharon Tel: 972-9-775-5100 Italy – Milan Tel: 39-0331-742611 Fax: 39-0331-466781 Italy – Padova Tel: 39-049-7625286 Netherlands – Drunen Tel: 31-416-690399 Fax: 31-416-690340 Norway – Trondheim Tel: 47-72884388 Poland – Warsaw Tel: 48-22-3325737 Romania – Bucharest Tel: 40-21-407-87-50 Spain – Madrid Tel: 34-91-708-0890 Fax: 34-91-708-08-91 Sweden – Gothenberg Tel: 46-31-704-60-40 Sweden – Stockholm Tel: 46-8-5090-4654 UK – Wokingham Tel: 44-118-921-5800 Fax: 44-118-921-5820 |
Documents / Resources
![]() |
MICROCHIP AN5489 PCI and PCIe Bus Cards [pdf] User Guide AN5489, AN5489 PCI and PCIe Bus Cards, PCI and PCIe Bus Cards, PCIe Bus Cards, Bus Cards, Cards |