Thanks ads-ee, I will try to start from your suggested references and report result here later.
Regarding communication register, yeah, I always write communication register first to tell ADC what the next register is. My sequence for registers as following:
(1) Communication Register (CR) for Mode Register (8 bits)
-> (2) Mode Register (24 bits)
-> (3) CR for Configuration Register (8 bits)
-> (4) Configuration Register (24 bits)
-> (5) CR for Offset Register (8 bits)
-> (6) Offset Register (24 bits)
-> (7) CR for Full Scale (8 bits)
-> (8) Full Scale (24 bits)
-> (9) CR for Data Register (8 bits)
-> (10) Data Register (24 bits, Read only)
-> (9) ->(10) ->(9) ->(10)....(repeat for continuous conversion mode)
I wonder that ADC are in busy state somewhere during configuration process; hence, it doesn't work correctly. It only works after several reset (by turn on/off) occasionally.